Compare commits
895
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14055547fa | ||
|
|
9843f739db | ||
|
|
3a3a3453e7 | ||
|
|
0228b9725e | ||
|
|
385a267208 | ||
|
|
bbf217f090 | ||
|
|
f474c284f4 | ||
|
|
3967429440 | ||
|
|
29b0b0611a | ||
|
|
2a9afe8046 | ||
|
|
51b983509d | ||
|
|
36939092fb | ||
|
|
598ac0aff3 | ||
|
|
ae14e4bb3d | ||
|
|
ef52c25aa6 | ||
|
|
18d59c29ae | ||
|
|
f26ee1fb67 | ||
|
|
f82b1beaa0 | ||
|
|
e0c90207de | ||
|
|
e2d49e7c7a | ||
|
|
87b4652f92 | ||
|
|
812ab5e250 | ||
|
|
767c538bbf | ||
|
|
6dba4f60ff | ||
|
|
8e0074e580 | ||
|
|
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 | ||
|
|
4b1be560bb | ||
|
|
ee36eab4b6 | ||
|
|
c2a1a88257 | ||
|
|
3150de06ca | ||
|
|
61ef05afc8 | ||
|
|
357cc3fdc1 | ||
|
|
fa0fe29791 | ||
|
|
a1044f2f30 | ||
|
|
df670f8e13 | ||
|
|
a64b60670f | ||
|
|
473ce33fec | ||
|
|
63193e123b | ||
|
|
1e47af5b6f | ||
|
|
11f7300035 | ||
|
|
c67590a505 | ||
|
|
9e592073dd | ||
|
|
e5cdfac6b7 | ||
|
|
f7543e3aaa | ||
|
|
7a2de290cf | ||
|
|
8c49ac2a8d | ||
|
|
557ced4b75 | ||
|
|
106bde2dc6 | ||
|
|
a509b332b5 | ||
|
|
6ae687faa3 | ||
|
|
2e00bb9a31 | ||
|
|
10090a03a6 | ||
|
|
1f278e75c3 | ||
|
|
bcc256ec16 | ||
|
|
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 | ||
|
|
b2c9167eec | ||
|
|
8b7dc8ba3a | ||
|
|
7ea76ed031 | ||
|
|
f092c8fadf | ||
|
|
1001afecc8 | ||
|
|
add968510d | ||
|
|
68c891e713 | ||
|
|
2ad3a4006e | ||
|
|
cc1eb1a977 | ||
|
|
bdd881b4e7 | ||
|
|
0b4f51b32e | ||
|
|
25d98de880 | ||
|
|
7fa6d48ce4 | ||
|
|
a07827e079 | ||
|
|
7290c0ce6a | ||
|
|
cc13a92a06 | ||
|
|
0c1df4edb1 | ||
|
|
e1cf5abc32 | ||
|
|
d9551d2dcc | ||
|
|
35d12432e7 | ||
|
|
8bf86bedcf | ||
|
|
53d99cddc4 | ||
|
|
8aa5f40dfa | ||
|
|
7133b63c95 | ||
|
|
885881294d | ||
|
|
aecb7d541b | ||
|
|
db7c9c78b9 | ||
|
|
0d2e793df7 | ||
|
|
0317f3439d | ||
|
|
ae2faa7b2d | ||
|
|
fd63b2674a | ||
|
|
47b502b965 | ||
|
|
56ac2218d5 | ||
|
|
ac0801f75e | ||
|
|
0924f5c0e9 | ||
|
|
0e4389c96f | ||
|
|
61e33bda63 | ||
|
|
80b4c418ad | ||
|
|
483f9823c8 | ||
|
|
607bc7af62 | ||
|
|
905fc0fe9b | ||
|
|
e79dbfb671 | ||
|
|
217760ea68 | ||
|
|
71d78e310b | ||
|
|
b641611b86 | ||
|
|
50a8c7b1df | ||
|
|
f7a1d32bea | ||
|
|
062b0a80d3 | ||
|
|
81989243ad | ||
|
|
d37cffa9d8 | ||
|
|
bde41134f9 | ||
|
|
4497b7fb2b | ||
|
|
63dbbb8b38 | ||
|
|
64cc5c42e7 | ||
|
|
17f7cd1c2c | ||
|
|
0b66fe2535 | ||
|
|
1cc0983315 | ||
|
|
828589705d | ||
|
|
fb0b4d1504 | ||
|
|
390c987081 | ||
|
|
87f0b9fdee | ||
|
|
c83637e6fe | ||
|
|
c4b44d3038 | ||
|
|
0b1064ea7d | ||
|
|
16f5f68ff8 | ||
|
|
d2cb68506b | ||
|
|
9b290c5a8a | ||
|
|
7bac5a7101 | ||
|
|
736cf279c3 | ||
|
|
3d49cfa0e7 | ||
|
|
9e7b2d68ad | ||
|
|
2199ec324d | ||
|
|
4f3e3c8f63 | ||
|
|
585cb66534 | ||
|
|
325ea2939d | ||
|
|
1a26463bcb | ||
|
|
8401086544 | ||
|
|
5b44545fd2 | ||
|
|
71a1005720 | ||
|
|
52b2b8f6df | ||
|
|
67345e0e6d | ||
|
|
fcd84dda26 | ||
|
|
dfd4970060 | ||
|
|
256d0cd95f | ||
|
|
9d4238b236 | ||
|
|
9ba19af496 | ||
|
|
c15f359d8f | ||
|
|
7fc86af212 | ||
|
|
10c477eb09 | ||
|
|
4f4d662541 | ||
|
|
9196ba593b | ||
|
|
0c6e43c33d | ||
|
|
6514d98b2c | ||
|
|
64b502b4f2 | ||
|
|
3b0b4d1ef0 | ||
|
|
5661f0a56d | ||
|
|
1534bc53d8 | ||
|
|
ecf57ce8d2 | ||
|
|
0259eeeb5d | ||
|
|
8c989a057d | ||
|
|
3a0aa9eaa9 | ||
|
|
76e427fdb2 | ||
|
|
0a13cdec11 | ||
|
|
6ff23b461c | ||
|
|
f17ce8703d | ||
|
|
978d9ae574 | ||
|
|
399b43666f | ||
|
|
880277c473 | ||
|
|
3faceeb863 | ||
|
|
5746586532 | ||
|
|
b1deef866d | ||
|
|
fb89c1c2d8 | ||
|
|
fdda9c2db5 | ||
|
|
89cdae0456 | ||
|
|
f73a5d169a | ||
|
|
5f94a645d5 | ||
|
|
f9b6d18af4 | ||
|
|
51fff8eb42 | ||
|
|
e4809d9f90 | ||
|
|
bbcc3fdcab | ||
|
|
781e813abd | ||
|
|
8e8482b527 | ||
|
|
3e2488a9e7 | ||
|
|
2a94a2b26d | ||
|
|
51557b5ae9 | ||
|
|
1201a56169 | ||
|
|
3c32946d88 | ||
|
|
41b7678e62 | ||
|
|
1145a49108 | ||
|
|
02c547b60e | ||
|
|
46e6b87d13 | ||
|
|
1bf090238d | ||
|
|
438a7e337d | ||
|
|
4ae2f001fa | ||
|
|
effb26733e | ||
|
|
1fa4f67afd | ||
|
|
6254bb6ad2 | ||
|
|
bf6bc96437 | ||
|
|
71d1f4c701 | ||
|
|
26d5679d5d | ||
|
|
f297d411df | ||
|
|
2ad35c83c0 | ||
|
|
72c9f2115e | ||
|
|
805f884b17 | ||
|
|
26726df578 | ||
|
|
b7a0279352 | ||
|
|
f724ae8912 | ||
|
|
ab55557ddb | ||
|
|
c70dc9e93b | ||
|
|
0aaf0c5af4 | ||
|
|
29ff9be9f7 | ||
|
|
52469738d3 | ||
|
|
25d74973b0 | ||
|
|
8dd2efd090 | ||
|
|
07683b02fe | ||
|
|
a0a7d5b678 | ||
|
|
adf99597f6 | ||
|
|
52fe7952d6 | ||
|
|
aa4c5df4b7 | ||
|
|
3e34ba2227 | ||
|
|
a3de2f9bee | ||
|
|
28f6dd66d2 | ||
|
|
89fd6a960c | ||
|
|
08a28c3fd5 | ||
|
|
95ae82ff5c | ||
|
|
8b06e7d04f | ||
|
|
b1021432ec | ||
|
|
2cca514128 | ||
|
|
2e33027272 | ||
|
|
73a0b95df7 | ||
|
|
39f32a3b45 | ||
|
|
94294dd372 | ||
|
|
61e98c0e0d | ||
|
|
bb910aa280 | ||
|
|
a6c7ffd8f5 | ||
|
|
4c2124ebf4 | ||
|
|
aefe53cab1 | ||
|
|
ce3d3fa403 | ||
|
|
55a9117ecf | ||
|
|
16f352169c | ||
|
|
e5d08d2a9e | ||
|
|
3194b10e62 | ||
|
|
12c653fa7b | ||
|
|
0c32d707ab | ||
|
|
b4e2a8457f | ||
|
|
f6d7577688 | ||
|
|
c026a827c6 | ||
|
|
55421659dc | ||
|
|
1a718f3f0e | ||
|
|
68078182bf | ||
|
|
7bcbea62e9 | ||
|
|
ec66642c60 | ||
|
|
4119b6c263 | ||
|
|
adff6e66d5 | ||
|
|
1877aed36a | ||
|
|
49d9cfd5ee | ||
|
|
6867272d06 | ||
|
|
890dae3a87 | ||
|
|
9a7fa21028 | ||
|
|
50c1efadd8 | ||
|
|
83df90082a | ||
|
|
b1d7d19ed7 | ||
|
|
64de2af400 | ||
|
|
646c3e5ca5 | ||
|
|
f0be1a2d76 | ||
|
|
df8523e550 | ||
|
|
7d7b898ee6 | ||
|
|
a94de6edff | ||
|
|
6fbf85df90 | ||
|
|
dfa59e12aa | ||
|
|
5a5903ab25 | ||
|
|
fc7cdac41b | ||
|
|
68733b4ea6 | ||
|
|
9a9d58f76b | ||
|
|
3dd3e8857f | ||
|
|
b25e5192bb | ||
|
|
c18f3f67b3 | ||
|
|
e5b3136d3b | ||
|
|
554c91430b | ||
|
|
5ee1034856 | ||
|
|
dcc1f93f1c | ||
|
|
7690c1a1dd | ||
|
|
3832029be4 | ||
|
|
61ab30fe87 | ||
|
|
839eefa032 | ||
|
|
7779eb0a56 | ||
|
|
da43cf9b15 | ||
|
|
73653f894e | ||
|
|
12feb81aa1 | ||
|
|
e41b32c5cd | ||
|
|
f73d351981 | ||
|
|
5f43d5fcc1 | ||
|
|
444b3ccb9e | ||
|
|
a052d76f62 | ||
|
|
8ac65e65b5 | ||
|
|
2ec525e129 | ||
|
|
b124e441fa | ||
|
|
ff6fd3473b | ||
|
|
da110e78f0 | ||
|
|
89f609d70b | ||
|
|
9dfb2c6060 | ||
|
|
20759af979 | ||
|
|
2dbe8e4366 | ||
|
|
f94e7e05e0 | ||
|
|
aa2b618ff6 | ||
|
|
551642a987 | ||
|
|
c1c59368c1 | ||
|
|
6aa6146689 | ||
|
|
558a3cf892 | ||
|
|
659cc18243 | ||
|
|
1e5c015f99 | ||
|
|
225a8631d2 | ||
|
|
b8cd5d8bb0 | ||
|
|
9fcdafb9cc | ||
|
|
c71e06a208 | ||
|
|
77319d5ce0 | ||
|
|
80ea255a7c | ||
|
|
7dcf4db276 | ||
|
|
eac4703376 | ||
|
|
ca4482d664 | ||
|
|
b31c42e629 | ||
|
|
754dd9a440 | ||
|
|
25dc96ac27 | ||
|
|
1a03dd2a1d | ||
|
|
2136b84aae | ||
|
|
9c835e5370 | ||
|
|
0a09372f61 | ||
|
|
af1ab619e6 | ||
|
|
d07c90b6aa | ||
|
|
1b8f652d97 | ||
|
|
7817a10b5f | ||
|
|
6eeff1ab02 | ||
|
|
bc0770aa9b | ||
|
|
d737c07a10 | ||
|
|
40e28c2a85 | ||
|
|
f3f151075b | ||
|
|
79d0b01722 | ||
|
|
8ad680b57b | ||
|
|
1822556dc2 | ||
|
|
f2ca7a2c03 | ||
|
|
0940fb709c | ||
|
|
9d79f0ff2b | ||
|
|
c23d218403 | ||
|
|
8dacea0cd5 | ||
|
|
04e93a9bb4 | ||
|
|
a17c8e6dd4 | ||
|
|
4508c95dac | ||
|
|
bcc45e5d60 | ||
|
|
df83a38c61 | ||
|
|
348be98436 | ||
|
|
927a0a8995 | ||
|
|
9f8a5ad797 | ||
|
|
27b5faca11 | ||
|
|
fc72913cb5 | ||
|
|
857256b753 | ||
|
|
c2af2c9296 | ||
|
|
9525fc702d | ||
|
|
0820b5ef52 | ||
|
|
58d071c917 | ||
|
|
9650bb7d9f | ||
|
|
3c06384078 | ||
|
|
ec0f671ecf | ||
|
|
fb3c9af085 | ||
|
|
19f918d111 | ||
|
|
c22ed1e843 | ||
|
|
6aab5a14f7 | ||
|
|
c1a5f25b5b | ||
|
|
be06726777 | ||
|
|
888d38632a | ||
|
|
2f35092acf | ||
|
|
75b4240b3e | ||
|
|
b5ac4e8515 | ||
|
|
825ecc350d | ||
|
|
81d0baa321 | ||
|
|
99b198f281 | ||
|
|
99b956c319 | ||
|
|
dd1ab75d13 | ||
|
|
58e60ac36a | ||
|
|
e1596fe3a9 | ||
|
|
66a9890551 | ||
|
|
8ea26d6e62 | ||
|
|
d04aa1c4a5 | ||
|
|
536a94ca3d | ||
|
|
3713694b47 | ||
|
|
a177759d3a | ||
|
|
6e60876af8 | ||
|
|
c752e31cb4 | ||
|
|
48d5fef90a | ||
|
|
ff24cdf33a | ||
|
|
abde9a33b9 | ||
|
|
e8bc0e8c42 | ||
|
|
ca777ddf92 | ||
|
|
c90c130d05 | ||
|
|
bcb7cd5875 | ||
|
|
35fa7f63a0 | ||
|
|
85936c3cf3 | ||
|
|
61360a8313 | ||
|
|
6d29964cb3 | ||
|
|
bf67be3000 | ||
|
|
462a8565ab | ||
|
|
ab5d4329f8 | ||
|
|
e621e98595 | ||
|
|
a84ab7e549 | ||
|
|
babafd20d0 | ||
|
|
d688979d4f | ||
|
|
a0b948057e | ||
|
|
a08a9b6e11 | ||
|
|
1f43948f92 | ||
|
|
e8d91542a8 | ||
|
|
f9c1dec542 | ||
|
|
834bfbc8eb | ||
|
|
2cc1f62b0f | ||
|
|
64cf9270ed | ||
|
|
02cc49b5ab | ||
|
|
742299309b | ||
|
|
42664952a1 | ||
|
|
5aa64f156d | ||
|
|
4e4828694a | ||
|
|
4ab525fd51 | ||
|
|
d390344167 | ||
|
|
8e2b2e67b7 | ||
|
|
ea26e533c0 | ||
|
|
1852c504bf | ||
|
|
18b7f8d8e4 | ||
|
|
fa1b16293e | ||
|
|
5f7e208926 | ||
|
|
80f41b7c06 | ||
|
|
3e8df13031 | ||
|
|
5743471b68 | ||
|
|
61c22d7b22 | ||
|
|
f82c1ed901 | ||
|
|
2e10951389 | ||
|
|
81b6d710f6 | ||
|
|
c87bd6576d | ||
|
|
ca72441372 | ||
|
|
8312941547 | ||
|
|
837cd84d8c | ||
|
|
86dfc01518 | ||
|
|
bcbabb9ff7 | ||
|
|
5d97af0fc1 | ||
|
|
de6bc2fae2 | ||
|
|
8246ad066f | ||
|
|
b063b69a3a | ||
|
|
96433e00a8 | ||
|
|
02f0349010 | ||
|
|
ebd7fb169e | ||
|
|
fff393310f | ||
|
|
6eb189944a | ||
|
|
a4dfac77a4 | ||
|
|
63cd557eac | ||
|
|
cd04d2a51c | ||
|
|
a051c15bb0 | ||
|
|
85377fa4c2 | ||
|
|
19f14d1516 | ||
|
|
2912ce5223 | ||
|
|
3017c5e83f | ||
|
|
5dce5534ff | ||
|
|
6a4ba9638d | ||
|
|
10859b38af | ||
|
|
2a0cfd26a9 | ||
|
|
a44c5e4f2c | ||
|
|
c31de3cb1a | ||
|
|
d7a9e077ff | ||
|
|
ff2356e96d | ||
|
|
9baa974219 | ||
|
|
b9392b4ab7 | ||
|
|
292aa0e647 | ||
|
|
236ea2af7a | ||
|
|
ddb62591c2 | ||
|
|
24f7a15fa0 | ||
|
|
9903bc708d | ||
|
|
42e41bb122 | ||
|
|
a83b58b090 | ||
|
|
5ffc2e05c1 | ||
|
|
9649aa793b | ||
|
|
67661a188b | ||
|
|
9c4f93050e | ||
|
|
5994640826 | ||
|
|
3121cd9ca6 | ||
|
|
f383145b11 | ||
|
|
6f288bb086 | ||
|
|
94756538fd | ||
|
|
12f04343d5 | ||
|
|
a469383507 | ||
|
|
7d3559127b | ||
|
|
15fe2279c7 | ||
|
|
3a1e751f22 | ||
|
|
4899e8936b | ||
|
|
e6d146e4b8 | ||
|
|
b99c86b288 | ||
|
|
f013b1fdb8 | ||
|
|
9584ce76ac | ||
|
|
3a3e4a9554 | ||
|
|
955ea7cc9b | ||
|
|
d1a1fe2f41 | ||
|
|
25cc0cdfc6 | ||
|
|
e55adab7f9 | ||
|
|
ac0920a52b | ||
|
|
e7e99e7da8 | ||
|
|
ff7baa5135 | ||
|
|
db13ca2680 | ||
|
|
6bd63798d6 | ||
|
|
287ef10bf2 | ||
|
|
a6f012a251 | ||
|
|
7cfe3606ff | ||
|
|
1192d5b38e | ||
|
|
8f2016e8ee | ||
|
|
0828a20096 | ||
|
|
4e34f2dbe4 | ||
|
|
faa6d9e28e | ||
|
|
e17ff5e93e | ||
|
|
471f9b3701 | ||
|
|
196510aa19 | ||
|
|
af8ea7c0a3 | ||
|
|
ed15700734 | ||
|
|
977f1f6342 | ||
|
|
45a9907832 | ||
|
|
a9d86c8f62 | ||
|
|
7673fd0ec4 | ||
|
|
02a7c5c45a | ||
|
|
f7165bae4f | ||
|
|
d87cc30854 | ||
|
|
32b997d3d8 | ||
|
|
832165fc9f | ||
|
|
2efdb847a9 | ||
|
|
d8cdeee035 | ||
|
|
9db05b6945 | ||
|
|
d80e04ec66 | ||
|
|
929d548419 | ||
|
|
64b949583d | ||
|
|
de4a6babef | ||
|
|
37dfc2dda4 | ||
|
|
b7cd0d9d7d | ||
|
|
7821797aae | ||
|
|
3a5a00bab4 | ||
|
|
a6df7eeaba | ||
|
|
1942a701bf | ||
|
|
1f1b2b0236 | ||
|
|
eedadd9ba0 | ||
|
|
0dea2e48c2 | ||
|
|
f3c44319b3 | ||
|
|
86a81392de | ||
|
|
b33117997a | ||
|
|
34457f222c | ||
|
|
e3db8a5bf4 | ||
|
|
734ce74be2 | ||
|
|
5262a75d87 | ||
|
|
b7488e61b0 | ||
|
|
5210e23479 | ||
|
|
64ecdb78ad | ||
|
|
8c3e10cb5e | ||
|
|
2737f46885 | ||
|
|
dfca58c539 | ||
|
|
214a22911d | ||
|
|
c8a36e091e | ||
|
|
6c95236356 | ||
|
|
8a2e6738eb | ||
|
|
d036a413c5 | ||
|
|
d2f9113397 | ||
|
|
881836c0e8 | ||
|
|
6bdf5f2495 | ||
|
|
9b559d0a18 | ||
|
|
25022e93d3 | ||
|
|
17ddec484a | ||
|
|
a4535a9feb | ||
|
|
7b2eb67be9 | ||
|
|
1fbbd6be51 | ||
|
|
7ab06da098 | ||
|
|
c71c100efb | ||
|
|
1d4371268c | ||
|
|
66a62b36a7 | ||
|
|
c74908f4ae | ||
|
|
fde1427e44 | ||
|
|
255ecac866 | ||
|
|
f97729a8cb | ||
|
|
d6a9927435 | ||
|
|
39af7295d5 | ||
|
|
7906500259 | ||
|
|
a62cb72ca6 | ||
|
|
48f90bd944 | ||
|
|
61fca7feeb | ||
|
|
af92309090 | ||
|
|
c295ad8a64 | ||
|
|
55aaeccc36 | ||
|
|
9e3eecc9af | ||
|
|
5fe62db314 | ||
|
|
40ac9fd074 | ||
|
|
8168a12737 | ||
|
|
ef120e8313 | ||
|
|
fd200daff1 | ||
|
|
552c86c98b | ||
|
|
9b2c34b7b9 | ||
|
|
bc5002041c | ||
|
|
5767a5e19d | ||
|
|
dbc0d90158 | ||
|
|
4ce4631167 | ||
|
|
fc57be8d9d | ||
|
|
8292868a86 | ||
|
|
1b38713e30 | ||
|
|
b31e464d95 | ||
|
|
ba4825c00e | ||
|
|
50a82baaff | ||
|
|
53970a6351 | ||
|
|
a88ca881ad | ||
|
|
4216aa4605 | ||
|
|
118bed15b6 | ||
|
|
c9f46cc19f | ||
|
|
3efc997fcc | ||
|
|
6b0ab5ef37 | ||
|
|
3b1284196a | ||
|
|
58c50dc38b | ||
|
|
4980ff732a | ||
|
|
abc19f357c | ||
|
|
c6017ef418 | ||
|
|
820a82293c | ||
|
|
ddbf7a3dd7 | ||
|
|
c5946e2f08 | ||
|
|
eb9da46a83 | ||
|
|
0d0e0042de | ||
|
|
7a0d5feefc | ||
|
|
2a8a60b9ad | ||
|
|
c5463c6c20 | ||
|
|
26911f91b4 | ||
|
|
418e1fc177 | ||
|
|
0b4a761875 | ||
|
|
fdfc1b7ca6 | ||
|
|
4c7ddbcf62 | ||
|
|
07bb7dd411 | ||
|
|
38d49bf23a | ||
|
|
a037a70449 | ||
|
|
c268e8a2a7 | ||
|
|
e420f54746 | ||
|
|
ac2398d987 | ||
|
|
82d462fef7 | ||
|
|
289562e442 | ||
|
|
873775aafe | ||
|
|
941d31ce91 | ||
|
|
dd174e241d | ||
|
|
03bed1c17c | ||
|
|
e2e1868270 | ||
|
|
9ea6727743 | ||
|
|
bd1f66b411 | ||
|
|
a8ade55826 | ||
|
|
913ddf4785 | ||
|
|
c5be0b55c7 | ||
|
|
e8080fc86f | ||
|
|
579e4db42b | ||
|
|
eba352eb07 | ||
|
|
16bc8f6e5d | ||
|
|
05014a36c3 | ||
|
|
276e095d2c | ||
|
|
208f28bfd6 | ||
|
|
3f09f608a9 | ||
|
|
b5fc4cc9b2 | ||
|
|
4062d86dff | ||
|
|
b7c0624369 | ||
|
|
9697ee65f0 | ||
|
|
155ed2b669 | ||
|
|
6c4080832b | ||
|
|
882b62c25b | ||
|
|
5878686eac | ||
|
|
9b2c568db5 | ||
|
|
f87944a72a | ||
|
|
5986aee6da | ||
|
|
2ffd9210d2 | ||
|
|
de6ddc2440 | ||
|
|
70944b6352 | ||
|
|
0c9e000a4f | ||
|
|
2091cc2614 | ||
|
|
927d2bb9e6 | ||
|
|
502eb84116 | ||
|
|
1c8b8f4d6d | ||
|
|
399e8ad1db | ||
|
|
8e0a0792b8 | ||
|
|
6712181c45 | ||
|
|
940a720501 | ||
|
|
5b68300c02 | ||
|
|
5ef1d8db35 | ||
|
|
98ba6828cc | ||
|
|
f1328840d2 | ||
|
|
f2eb925120 | ||
|
|
80a293b83d | ||
|
|
831f29c963 | ||
|
|
c648c1f56b | ||
|
|
6cd03fc81b | ||
|
|
6ece751d81 | ||
|
|
7ca75be2ac | ||
|
|
d3020a39e9 | ||
|
|
46335eb722 | ||
|
|
bab6eff42f | ||
|
|
f1bec1e564 | ||
|
|
33a6b6699e | ||
|
|
fc21920a65 | ||
|
|
d4910cc370 | ||
|
|
62222e592e | ||
|
|
e52fdd51da | ||
|
|
dfe7ff348f | ||
|
|
8f79cfae66 | ||
|
|
e0253a5f15 | ||
|
|
8dbb12554c | ||
|
|
8e7c8357ac | ||
|
|
5567e3abd8 | ||
|
|
8aac4eccb1 | ||
|
|
cfd09cf9e6 | ||
|
|
cda9491ffa | ||
|
|
ffa9ca3249 | ||
|
|
b83519cdd2 | ||
|
|
51f7d1e5e1 | ||
|
|
0f089261af | ||
|
|
1041278dca | ||
|
|
b77eee9197 | ||
|
|
e5bf202d4f | ||
|
|
0e45efcfc1 | ||
|
|
af8cf554a5 | ||
|
|
3c6438c12f | ||
|
|
a8285cbc0e | ||
|
|
8fa7cbbde2 | ||
|
|
548d6a82d4 | ||
|
|
764b1d143a | ||
|
|
d59bad705f | ||
|
|
28b567ca8e | ||
|
|
cd73fb3755 | ||
|
|
772b7f948e | ||
|
|
0225a566e9 | ||
|
|
da17ded7fa | ||
|
|
823b5879eb | ||
|
|
60847b3962 | ||
|
|
0d91db0e06 | ||
|
|
3fa056f4d5 | ||
|
|
05f2b24011 | ||
|
|
2f0c3fddd3 | ||
|
|
21c8d54373 | ||
|
|
2aeb48d722 | ||
|
|
bf2802e4e4 | ||
|
|
e01071a625 | ||
|
|
4a8802a38d | ||
|
|
631ecff716 | ||
|
|
997161f862 | ||
|
|
3cbc918860 | ||
|
|
4f24cafb45 | ||
|
|
0122819f26 | ||
|
|
2b1054bf41 | ||
|
|
53d65fd430 | ||
|
|
79e0d487d0 | ||
|
|
13f740ed99 | ||
|
|
211e497a89 | ||
|
|
f04ee43425 | ||
|
|
3c9c1f1622 | ||
|
|
cc1998c1d6 | ||
|
|
223f63036c | ||
|
|
2ece201c00 | ||
|
|
fe8245fbab | ||
|
|
419d5c1316 | ||
|
|
e61c360bab | ||
|
|
d479d79c36 | ||
|
|
1bddf02180 | ||
|
|
acdd5ca9d2 | ||
|
|
09ba872c38 | ||
|
|
d790c6fd4d | ||
|
|
2b58af166a | ||
|
|
6e043a77bc | ||
|
|
aa8e0ce62e | ||
|
|
36e4b13232 | ||
|
|
63bfb423b4 | ||
|
|
cb31a0d840 | ||
|
|
ac7d437d33 | ||
|
|
d41698455e | ||
|
|
91f4dbb10a | ||
|
|
adc9892578 | ||
|
|
9ece80f6d8 | ||
|
|
78b09612e9 | ||
|
|
501df6ea8c | ||
|
|
26a83985f4 | ||
|
|
8f137f9842 | ||
|
|
c2eabf1274 | ||
|
|
5059a45aab | ||
|
|
fb1ca8ffa8 | ||
|
|
8a4bfa2183 | ||
|
|
c6af5ce8b5 | ||
|
|
014f30e942 | ||
|
|
d1c9d4d298 | ||
|
|
09ccd3af42 | ||
|
|
375b64b4f8 | ||
|
|
783ef7290a | ||
|
|
7f1efd4b84 | ||
|
|
d68f76b51e | ||
|
|
6ba1262347 | ||
|
|
490fc7504f | ||
|
|
f2959f4d7a | ||
|
|
fa4d7b22c1 | ||
|
|
3cb7f7e61f | ||
|
|
779f2ce2b5 | ||
|
|
0c4c83e5bd | ||
|
|
a369ede8d9 | ||
|
|
36ce8f885f | ||
|
|
347794b0c7 | ||
|
|
3ed087134c | ||
|
|
902355e021 | ||
|
|
32e98912df | ||
|
|
084a8e708c | ||
|
|
045d50bb90 | ||
|
|
68eda19665 | ||
|
|
39ab866a10 | ||
|
|
d4cdfe6994 | ||
|
|
c18592b5a3 | ||
|
|
fee924b374 | ||
|
|
6724e13c63 | ||
|
|
717de54b06 | ||
|
|
51cd214f1e | ||
|
|
da277c8593 | ||
|
|
b3cce807bb | ||
|
|
a533eb9a43 | ||
|
|
9702eae953 | ||
|
|
a4b51997ff | ||
|
|
b1274d3c76 | ||
|
|
8f8565dbfd | ||
|
|
7f4614c31c | ||
|
|
e231453778 | ||
|
|
8729804dc2 | ||
|
|
0cf237c839 | ||
|
|
ddc1f901c2 | ||
|
|
9ca27af2df | ||
|
|
082435ec8b | ||
|
|
324c5f59f4 |
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Discussion or question
|
||||
url: https://github.com/microsoft/vscode-cpptools/discussions/new
|
||||
about: Please use our Discussions board to start a discussion or to ask a question.
|
||||
@@ -1,20 +1,22 @@
|
||||
---
|
||||
name: Debugger
|
||||
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
|
||||
name: Bug Report - Debugger
|
||||
about: Create a bug report for debugging such as call stack, breakpoints, watch window,
|
||||
launching or attaching to a debuggee.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: Debugger
|
||||
<!----- Input information below ----->
|
||||
Bug type: Debugger
|
||||
|
||||
<!--
|
||||
**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
|
||||
<!-- Prior to creating a bug report, 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:
|
||||
@@ -22,6 +24,7 @@ Type: Debugger
|
||||
- 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:
|
||||
@@ -30,6 +33,7 @@ Steps to reproduce the behavior:
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Feature Request
|
||||
about: Suggest an idea for this extension.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: Feature Request
|
||||
|
||||
<!-- Prior to creating a feature request, please review
|
||||
existing issues at https://github.com/Microsoft/vscode-cpptools/issues
|
||||
to avoid creating duplicates.
|
||||
-->
|
||||
|
||||
<!-- Describe the feature you'd like. -->
|
||||
@@ -1,19 +1,21 @@
|
||||
---
|
||||
name: General Extension
|
||||
about: Issues pertaining to downloading, installing, or building the extension.
|
||||
name: Bug Report - General Extension
|
||||
about: Create a bug report for downloading, installing, or building the extension.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Type: General
|
||||
<!----- Input information below ----->
|
||||
Bug type: General
|
||||
|
||||
<!--
|
||||
**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
|
||||
<!-- Prior to creating a bug report, 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:
|
||||
@@ -21,6 +23,7 @@ Type: General
|
||||
- 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:
|
||||
@@ -29,11 +32,14 @@ Steps to reproduce the behavior:
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
<!-- 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.
|
||||
<!-- Add any other context about the problem here including log messages from the Output window. -->
|
||||
|
||||
@@ -1,42 +1,65 @@
|
||||
---
|
||||
name: Language Service
|
||||
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
|
||||
name: Bug Report - Language Service
|
||||
about: 'Create a bug report for IntelliSense, autocomplete, code editing, code navigation, etc.'
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Type: LanguageService**
|
||||
<!----- Input information below ----->
|
||||
Bug type: Language Service
|
||||
|
||||
<!--
|
||||
**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
|
||||
<!-- Prior to creating a bug report, 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.
|
||||
- If using SSH remote, specify OS of 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).
|
||||
|
||||
**To Reproduce**
|
||||
<!-- Steps to reproduce the behavior: -->
|
||||
<!-- *The most actionable issue reports include a code sample including configuration files such as c_cpp_properties.json* -->
|
||||
|
||||
**Steps to reproduce**
|
||||
<!-- Provide clear steps to reproduce the bug: -->
|
||||
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. -->
|
||||
|
||||
|
||||
**Code sample and logs**
|
||||
<!-- Please provide code sample, your c_cpp_properties.json and logs. -->
|
||||
- Code sample
|
||||
|
||||
- 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)
|
||||
|
||||
|
||||
**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".
|
||||
* Add any other context about the problem here including log messages in your Output window ("C_Cpp.loggingLevel": "Debug" in settings.json).
|
||||
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.
|
||||
-->
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# ignore dependency packages
|
||||
node_modules
|
||||
*.js.map
|
||||
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Locker = void 0;
|
||||
const utils_1 = require("../common/utils");
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
class Locker extends ActionBase_1.ActionBase {
|
||||
constructor(github, daysSinceClose, daysSinceUpdate, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
this.github = github;
|
||||
this.daysSinceClose = daysSinceClose;
|
||||
this.daysSinceUpdate = daysSinceUpdate;
|
||||
}
|
||||
async run() {
|
||||
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
|
||||
const updatedTimestamp = 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) => {
|
||||
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();
|
||||
}
|
||||
else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
|
||||
}
|
||||
else if (hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Locker = Locker;
|
||||
//# sourceMappingURL=Locker.js.map
|
||||
@@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
export class Locker extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private daysSinceClose: number,
|
||||
private daysSinceUpdate: number,
|
||||
labels?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number
|
||||
)
|
||||
{
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
}
|
||||
|
||||
async run() {
|
||||
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()
|
||||
|
||||
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
console.log(`Locking issue ${hydrated.number}`)
|
||||
await issue.lockIssue()
|
||||
} else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
|
||||
} else if (hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`)
|
||||
}
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
name: Locker
|
||||
description: Lock closed issues and PRs after some time has passed
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
daysSinceClose:
|
||||
description: Days to wait since closing before locking the item
|
||||
required: true
|
||||
daysSinceUpdate:
|
||||
description: days to wait since the last interaction before locking the item
|
||||
required: true
|
||||
milestoneName:
|
||||
description: items with these milestones will be considered (name only, must match ID)
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
ignoreLabels:
|
||||
description: items with these labels will not be considered
|
||||
minimumVotes:
|
||||
descriptions: Only issues with at least this many votes will be considered.
|
||||
maximumVotes:
|
||||
descriptions: Only issues fewer or equal to this many votes will be considered.
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,20 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const Locker_1 = require("./Locker");
|
||||
const Action_1 = require("../common/Action");
|
||||
class LockerAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
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();
|
||||
}
|
||||
}
|
||||
new LockerAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1,31 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
class LockerAction extends Action {
|
||||
id = 'Locker'
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new Locker(
|
||||
github,
|
||||
+getRequiredInput('daysSinceClose'),
|
||||
+getRequiredInput('daysSinceUpdate'),
|
||||
getInput('labels') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoreLabels') || undefined,
|
||||
getInput('ignoreMilestoneNames') || undefined,
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
}
|
||||
}
|
||||
|
||||
new LockerAction().run() // eslint-disable-line
|
||||
@@ -0,0 +1,72 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Reopener = void 0;
|
||||
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) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
this.github = github;
|
||||
this.alsoApplyToOpenIssues = alsoApplyToOpenIssues;
|
||||
this.addLabels = addLabels;
|
||||
this.removeLabels = removeLabels;
|
||||
this.reopenComment = reopenComment;
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
console.log(`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();
|
||||
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();
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`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);
|
||||
}
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.reopenComment) {
|
||||
console.log(`Posting comment to issue ${hydrated.number}.`);
|
||||
await issue.postComment(this.reopenComment);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is locked. Ignoring`);
|
||||
}
|
||||
else if (!this.alsoApplyToOpenIssues && hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Reopener = Reopener;
|
||||
//# sourceMappingURL=Reopener.js.map
|
||||
@@ -0,0 +1,84 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
export class Reopener extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private alsoApplyToOpenIssues: boolean,
|
||||
private addLabels?: string,
|
||||
private removeLabels?: string,
|
||||
private reopenComment?: string,
|
||||
private setMilestoneId?: string,
|
||||
labels?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number
|
||||
)
|
||||
{
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
}
|
||||
|
||||
async run() {
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
|
||||
console.log(`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()
|
||||
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()
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`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)
|
||||
}
|
||||
}
|
||||
}
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.reopenComment) {
|
||||
console.log(`Posting comment to issue ${hydrated.number}.`)
|
||||
await issue.postComment(this.reopenComment)
|
||||
}
|
||||
} else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is locked. Ignoring`)
|
||||
} else if (!this.alsoApplyToOpenIssues && hydrated.open) {
|
||||
console.log(`Issue ${hydrated.number} is open. Ignoring`)
|
||||
}
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
name: Locker
|
||||
description: Lock closed issues and PRs after some time has passed
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
alsoApplyToOpenIssues:
|
||||
description: If true, applies to issues that are already opened (to add/remove labels, etc., but not reopen).
|
||||
addLabels:
|
||||
description: Labels to add to issue as it is reopend.
|
||||
reopenComment:
|
||||
description: Comment to add upon reopening the issue.
|
||||
setMilestoneId:
|
||||
description: Milestone to set reopened issue to.
|
||||
removeLabels:
|
||||
description: Labels to remove from issue as it is reopened.
|
||||
milestoneName:
|
||||
description: items with these milestones will be considered (name only, must match ID)
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
ignoreLabels:
|
||||
description: items with these labels will not be considered
|
||||
minimumVotes:
|
||||
descriptions: Only issues with at least this many votes will be considered.
|
||||
maximumVotes:
|
||||
descriptions: Only issues fewer or equal to this many votes will be considered.
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const Reopener_1 = require("./Reopener");
|
||||
const Action_1 = require("../common/Action");
|
||||
class ReopenerAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'Locker';
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
new ReopenerAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
class ReopenerAction extends Action {
|
||||
id = 'Locker'
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
const alsoApplyToOpenIssues: string | undefined = getInput('alsoApplyToOpenIssues');
|
||||
await new Reopener(
|
||||
github,
|
||||
alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true',
|
||||
getInput('addLabels') || undefined,
|
||||
getInput('removeLabels') || undefined,
|
||||
getInput('reopenComment') || '',
|
||||
getInput('setMilestoneId') || undefined,
|
||||
getInput('labels') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoreLabels') || undefined,
|
||||
getInput('ignoreMilestoneNames') || undefined,
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
}
|
||||
}
|
||||
|
||||
new ReopenerAction().run() // eslint-disable-line
|
||||
@@ -0,0 +1,106 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StaleCloser = void 0;
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
const utils_1 = require("../common/utils");
|
||||
class StaleCloser extends ActionBase_1.ActionBase {
|
||||
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
this.github = github;
|
||||
this.closeDays = closeDays;
|
||||
this.closeComment = closeComment;
|
||||
this.pingDays = pingDays;
|
||||
this.pingComment = pingComment;
|
||||
this.additionalTeam = additionalTeam;
|
||||
this.addLabels = addLabels;
|
||||
this.removeLabels = removeLabels;
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? 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(',') : [];
|
||||
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();
|
||||
if (lastCommentIterator.done) {
|
||||
throw Error('Unexpected comment data');
|
||||
}
|
||||
const lastComment = lastCommentIterator.value[0];
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
if (!lastComment ||
|
||||
lastComment.author.isGitHubApp ||
|
||||
pingTimestamp == undefined ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
this.additionalTeam.includes(lastComment.author.name) ||
|
||||
await issue.hasWriteAccess(lastComment.author)) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
}
|
||||
else {
|
||||
console.log(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
console.log(`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);
|
||||
}
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue();
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
console.log(`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}`);
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
.replace('${author}', hydrated.author.name));
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log(`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`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.StaleCloser = StaleCloser;
|
||||
//# sourceMappingURL=StaleCloser.js.map
|
||||
@@ -0,0 +1,128 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
export class StaleCloser extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private closeDays: number,
|
||||
labels: string,
|
||||
private closeComment: string,
|
||||
private pingDays: number,
|
||||
private pingComment: string,
|
||||
private additionalTeam: string[],
|
||||
private addLabels?: string,
|
||||
private removeLabels?: string,
|
||||
private setMilestoneId?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number,
|
||||
involves?: string
|
||||
)
|
||||
{
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
}
|
||||
|
||||
async run() {
|
||||
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");
|
||||
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
|
||||
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()
|
||||
if (lastCommentIterator.done) {
|
||||
throw Error('Unexpected comment data')
|
||||
}
|
||||
const lastComment = lastCommentIterator.value[0]
|
||||
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
if (
|
||||
!lastComment ||
|
||||
lastComment.author.isGitHubApp ||
|
||||
pingTimestamp == undefined ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
this.additionalTeam.includes(lastComment.author.name) ||
|
||||
await issue.hasWriteAccess(lastComment.author)
|
||||
) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
console.log(
|
||||
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`,
|
||||
)
|
||||
} else {
|
||||
console.log(`No comments on issue ${hydrated.number}. Closing.`)
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
console.log(`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)
|
||||
}
|
||||
}
|
||||
}
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue()
|
||||
if (this.setMilestoneId != undefined) {
|
||||
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
|
||||
await issue.setMilestone(+this.setMilestoneId)
|
||||
}
|
||||
console.log(`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}`,
|
||||
)
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(
|
||||
this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
.replace('${author}', hydrated.author.name),
|
||||
)
|
||||
}
|
||||
} else {
|
||||
console.log(
|
||||
`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,0 +1,47 @@
|
||||
name: Stale Issue Closer
|
||||
description: Close issues that are marked with a specified label and were last interacted with by a contributor or bot
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
closeDays:
|
||||
description: Days to wait before closing the issue
|
||||
required: true
|
||||
closeComment:
|
||||
description: Comment to add upon closing the issue
|
||||
pingDays:
|
||||
description: Days to wait before pinging the assignee, if any. If set, issue is not closed if there is an assignee.
|
||||
additionalTeam:
|
||||
description: Pipe-separated list of additional users to treat as team members
|
||||
pingComment:
|
||||
description: Comment to add when pinging assignee. ${assignee} and ${author} are replaced.
|
||||
milestoneName:
|
||||
description: items with these milestones will be considered (name only, must match ID)
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
required: true
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
ignoreLabels:
|
||||
description: items with these labels will not be considered
|
||||
addLabels:
|
||||
description: Labels to add to issue as it is closed.
|
||||
removeLabels:
|
||||
description: Labels to remove from issue as it is closed.
|
||||
setMilestoneId:
|
||||
description: Milestone to set closed issue to.
|
||||
minimumVotes:
|
||||
descriptions: Only issues with at least this many votes will be considered.
|
||||
maximumVotes:
|
||||
descriptions: Only issues fewer or equal to this many votes will be considered.
|
||||
involves:
|
||||
descriptions: Qualifier to find issues that in some way involve a certain user either as an author, assignee, or mentions.
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const StaleCloser_1 = require("./StaleCloser");
|
||||
const Action_1 = require("../common/Action");
|
||||
class StaleCloserAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'StaleCloser';
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1,38 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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 { StaleCloser } from './StaleCloser'
|
||||
import { Action } from '../common/Action'
|
||||
|
||||
class StaleCloserAction extends Action {
|
||||
id = 'StaleCloser'
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new StaleCloser(
|
||||
github,
|
||||
+getRequiredInput('closeDays'),
|
||||
getRequiredInput('labels'),
|
||||
getInput('closeComment') || '',
|
||||
+(getInput('pingDays') || 0),
|
||||
getInput('pingComment') || '',
|
||||
(getInput('additionalTeam') ?? '').split(','),
|
||||
getInput('addLabels') || undefined,
|
||||
getInput('removeLabels') || undefined,
|
||||
getInput('setMilestoneId') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoreLabels') || undefined,
|
||||
getInput('ignoreMilestoneNames') || undefined,
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999),
|
||||
getInput('involves') || undefined
|
||||
).run()
|
||||
}
|
||||
}
|
||||
|
||||
new StaleCloserAction().run() // eslint-disable-line
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=api.js.map
|
||||
@@ -0,0 +1,100 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export interface GitHub {
|
||||
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
|
||||
|
||||
hasWriteAccess(user: User): Promise<boolean>
|
||||
|
||||
repoHasLabel(label: string): Promise<boolean>
|
||||
createLabel(label: string, color: string, description: string): Promise<void>
|
||||
deleteLabel(label: string): Promise<void>
|
||||
|
||||
readConfig(path: string): Promise<any>
|
||||
|
||||
dispatch(title: string): Promise<void>
|
||||
|
||||
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
|
||||
|
||||
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
|
||||
}
|
||||
|
||||
export interface GitHubIssue extends GitHub {
|
||||
getIssue(): Promise<Issue>
|
||||
|
||||
postComment(body: string): Promise<void>
|
||||
deleteComment(id: number): Promise<void>
|
||||
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
|
||||
|
||||
closeIssue(): Promise<void>
|
||||
lockIssue(): Promise<void>
|
||||
reopenIssue(): Promise<void>
|
||||
|
||||
setMilestone(milestoneId: number): Promise<void>
|
||||
|
||||
addLabel(label: string): Promise<void>
|
||||
removeLabel(label: string): Promise<void>
|
||||
|
||||
addAssignee(assignee: string): Promise<void>
|
||||
removeAssignee(assignee: string): Promise<void>
|
||||
|
||||
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
|
||||
}
|
||||
|
||||
type SortVar =
|
||||
| 'comments'
|
||||
| 'reactions'
|
||||
| 'reactions-+1'
|
||||
| 'reactions--1'
|
||||
| 'reactions-smile'
|
||||
| 'reactions-thinking_face'
|
||||
| 'reactions-heart'
|
||||
| 'reactions-tada'
|
||||
| 'interactions'
|
||||
| 'created'
|
||||
| 'updated'
|
||||
type SortOrder = 'asc' | 'desc'
|
||||
export type Reactions = {
|
||||
'+1': number
|
||||
'-1': number
|
||||
laugh: number
|
||||
hooray: number
|
||||
confused: number
|
||||
heart: number
|
||||
rocket: number
|
||||
eyes: number
|
||||
}
|
||||
|
||||
export interface User {
|
||||
name: string
|
||||
isGitHubApp?: boolean
|
||||
}
|
||||
export interface Comment {
|
||||
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
|
||||
}
|
||||
export interface Query {
|
||||
q: string
|
||||
sort?: SortVar
|
||||
order?: SortOrder
|
||||
}
|
||||
@@ -0,0 +1,405 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
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");
|
||||
let numRequests = 0;
|
||||
exports.getNumRequests = () => numRequests;
|
||||
class OctoKit {
|
||||
constructor(token, params, options = { readonly: false }) {
|
||||
this.token = token;
|
||||
this.params = params;
|
||||
this.options = options;
|
||||
// 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);
|
||||
}
|
||||
get octokit() {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
// 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({
|
||||
...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));
|
||||
}
|
||||
else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000));
|
||||
}
|
||||
};
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
|
||||
await timeout();
|
||||
numRequests++;
|
||||
const page = pageResponse.data;
|
||||
console.log(`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}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.create({ owner, repo, title, body });
|
||||
}
|
||||
octokitIssueToIssue(issue) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: issue.labels.map((label) => label.name),
|
||||
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,
|
||||
createdAt: +new Date(issue.created_at),
|
||||
updatedAt: +new Date(issue.updated_at),
|
||||
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
|
||||
};
|
||||
}
|
||||
async hasWriteAccess(user) {
|
||||
if (user.name in this.writeAccessCache) {
|
||||
core_1.debug('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({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})).data.permission;
|
||||
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
|
||||
}
|
||||
async repoHasLabel(name) {
|
||||
try {
|
||||
await this.octokit.issues.getLabel({ ...this.params, name });
|
||||
return true;
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name);
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async createLabel(name, color, description) {
|
||||
core_1.debug('Creating label ' + name);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
|
||||
else
|
||||
this.mockLabels.add(name);
|
||||
}
|
||||
async deleteLabel(name) {
|
||||
core_1.debug('Deleting label ' + name);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteLabel({ ...this.params, name });
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async readConfig(path) {
|
||||
core_1.debug('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') {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
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('Found directory at config path when expecting file' + JSON.stringify(data));
|
||||
}
|
||||
catch (e) {
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
|
||||
}
|
||||
}
|
||||
async releaseContainsCommit(release, commit) {
|
||||
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
if (!err || err.code === 1) {
|
||||
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');
|
||||
}
|
||||
else if (err.message.includes(`Not a valid commit name ${commit}`)) {
|
||||
// commit is probably in a different repo.
|
||||
resolve('unknown');
|
||||
}
|
||||
else {
|
||||
reject(err);
|
||||
}
|
||||
}));
|
||||
}
|
||||
async dispatch(title) {
|
||||
core_1.debug('Dispatching ' + title);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
|
||||
}
|
||||
}
|
||||
exports.OctoKit = OctoKit;
|
||||
class OctoKitIssue extends OctoKit {
|
||||
constructor(token, params, issueData, options = { readonly: false }) {
|
||||
super(token, params, options);
|
||||
this.params = params;
|
||||
this.issueData = issueData;
|
||||
console.log('running bot on issue', issueData.number);
|
||||
}
|
||||
async addAssignee(assignee) {
|
||||
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.addAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
});
|
||||
}
|
||||
}
|
||||
async removeAssignee(assignee) {
|
||||
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.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({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
});
|
||||
}
|
||||
async reopenIssue() {
|
||||
core_1.debug('Reopening issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'open',
|
||||
});
|
||||
}
|
||||
async lockIssue() {
|
||||
core_1.debug('Locking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...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);
|
||||
return this.issueData;
|
||||
}
|
||||
console.log('Fetching issue ' + this.issueData.number);
|
||||
const issue = (await this.octokit.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
})).data;
|
||||
return (this.issueData = this.octokitIssueToIssue(issue));
|
||||
}
|
||||
async postComment(body) {
|
||||
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
});
|
||||
}
|
||||
async deleteComment(id) {
|
||||
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.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}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.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({
|
||||
...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,
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}));
|
||||
}
|
||||
}
|
||||
async addLabel(name) {
|
||||
core_1.debug(`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({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
});
|
||||
}
|
||||
async getAssigner(assignee) {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
let assigner;
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (timelineEvent.event === 'assigned' &&
|
||||
timelineEvent.assignee.login === assignee) {
|
||||
assigner = timelineEvent.actor.login;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
|
||||
}
|
||||
return assigner;
|
||||
}
|
||||
async removeLabel(name) {
|
||||
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.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;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async getClosingInfo(alreadyChecked = []) {
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined;
|
||||
}
|
||||
alreadyChecked.push(this.issueData.number);
|
||||
if ((await this.getIssue()).open) {
|
||||
return;
|
||||
}
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
let closingCommit;
|
||||
const crossReferencing = [];
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.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;
|
||||
}
|
||||
if (timelineEvent.event === 'commented' &&
|
||||
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.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()))) {
|
||||
crossReferencing.push(timelineEvent.source.issue.number);
|
||||
}
|
||||
}
|
||||
}
|
||||
// If we dont have any closing info, try to get it from linked issues (PRs).
|
||||
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
|
||||
if (!closingCommit) {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}, this.options).getClosingInfo(alreadyChecked);
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
|
||||
closingCommit = closed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
|
||||
return closingCommit;
|
||||
}
|
||||
}
|
||||
exports.OctoKitIssue = OctoKitIssue;
|
||||
function isIssue(object) {
|
||||
const isIssue = 'author' in object &&
|
||||
'body' in object &&
|
||||
'title' in object &&
|
||||
'labels' in object &&
|
||||
'open' in object &&
|
||||
'locked' in object &&
|
||||
'number' in object &&
|
||||
'numComments' in object &&
|
||||
'reactions' in object &&
|
||||
'milestoneId' in object;
|
||||
return isIssue;
|
||||
}
|
||||
//# sourceMappingURL=octokit.js.map
|
||||
@@ -0,0 +1,470 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
let numRequests = 0
|
||||
export const getNumRequests = () => numRequests
|
||||
|
||||
export class OctoKit implements GitHub {
|
||||
private _octokit: GitHubAPI
|
||||
protected get octokit(): GitHubAPI {
|
||||
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()
|
||||
|
||||
constructor(
|
||||
protected token: string,
|
||||
protected params: { repo: string; owner: string },
|
||||
protected options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
this._octokit = new GitHubAPI(token)
|
||||
}
|
||||
|
||||
// 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 options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
|
||||
...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))
|
||||
} else {
|
||||
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(' ')}`)
|
||||
yield page.map(
|
||||
(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 })
|
||||
}
|
||||
|
||||
protected octokitIssueToIssue(
|
||||
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
|
||||
): Issue {
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((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,
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
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]
|
||||
}
|
||||
debug('Fetching permissions for ' + user)
|
||||
const permissions = (
|
||||
await this.octokit.repos.getCollaboratorPermissionLevel({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})
|
||||
).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
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name)
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async createLabel(name: string, color: string, description: string): Promise<void> {
|
||||
debug('Creating label ' + name)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
|
||||
else this.mockLabels.add(name)
|
||||
}
|
||||
|
||||
async deleteLabel(name: string): Promise<void> {
|
||||
debug('Deleting label ' + name)
|
||||
try {
|
||||
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async readConfig(path: string): Promise<any> {
|
||||
debug('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') {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
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('Found directory at config path when expecting file' + JSON.stringify(data))
|
||||
} catch (e) {
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
|
||||
}
|
||||
}
|
||||
|
||||
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | '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')
|
||||
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
|
||||
// release branch is forked. Probably in endgame. Not released.
|
||||
resolve('no')
|
||||
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
|
||||
// commit is probably in a different repo.
|
||||
resolve('unknown')
|
||||
} else {
|
||||
reject(err)
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
async dispatch(title: string): Promise<void> {
|
||||
debug('Dispatching ' + title)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
|
||||
}
|
||||
}
|
||||
|
||||
export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
constructor(
|
||||
token: string,
|
||||
protected params: { repo: string; owner: string },
|
||||
private issueData: { number: number } | Issue,
|
||||
options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
super(token, params, options)
|
||||
console.log('running bot on issue', issueData.number)
|
||||
}
|
||||
|
||||
async addAssignee(assignee: string): Promise<void> {
|
||||
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.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)
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.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({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
})
|
||||
}
|
||||
|
||||
async reopenIssue(): Promise<void> {
|
||||
debug('Reopening issue ' + this.issueData.number)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'open',
|
||||
})
|
||||
}
|
||||
|
||||
async lockIssue(): Promise<void> {
|
||||
debug('Locking issue ' + this.issueData.number)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...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
|
||||
}
|
||||
|
||||
console.log('Fetching issue ' + this.issueData.number)
|
||||
const issue = (
|
||||
await this.octokit.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
})
|
||||
).data
|
||||
return (this.issueData = this.octokitIssueToIssue(issue))
|
||||
}
|
||||
|
||||
async postComment(body: string): Promise<void> {
|
||||
debug(`Posting comment ${body} on ${this.issueData.number}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
})
|
||||
}
|
||||
|
||||
async deleteComment(id: number): Promise<void> {
|
||||
debug(`Deleting comment ${id} on ${this.issueData.number}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.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}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
milestone: milestoneId,
|
||||
})
|
||||
}
|
||||
|
||||
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
|
||||
debug('Fetching comments for ' + this.issueData.number)
|
||||
|
||||
const response = this.octokit.paginate.iterator(
|
||||
this.octokit.issues.listComments.endpoint.merge({
|
||||
...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,
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
async addLabel(name: string): Promise<void> {
|
||||
debug(`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({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
})
|
||||
}
|
||||
|
||||
async getAssigner(assignee: string): Promise<string> {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
})
|
||||
|
||||
let assigner: string | undefined
|
||||
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
timelineEvent.event === 'assigned' &&
|
||||
(timelineEvent as any).assignee.login === assignee
|
||||
) {
|
||||
assigner = timelineEvent.actor.login
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
|
||||
}
|
||||
|
||||
return assigner
|
||||
}
|
||||
|
||||
async removeLabel(name: string): Promise<void> {
|
||||
debug(`Removing label ${name} from ${this.issueData.number}`)
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.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
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async getClosingInfo(
|
||||
alreadyChecked: number[] = [],
|
||||
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined
|
||||
}
|
||||
alreadyChecked.push(this.issueData.number)
|
||||
|
||||
if ((await this.getIssue()).open) {
|
||||
return
|
||||
}
|
||||
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
|
||||
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...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++
|
||||
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.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
|
||||
}
|
||||
if (
|
||||
timelineEvent.event === 'commented' &&
|
||||
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
|
||||
closingHashComment.test((timelineEvent as any).body)
|
||||
) {
|
||||
closingCommit = {
|
||||
hash: closingHashComment.exec((timelineEvent as any).body)![1],
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
}
|
||||
}
|
||||
if (
|
||||
timelineEvent.event === 'cross-referenced' &&
|
||||
(timelineEvent as any).source?.issue?.number &&
|
||||
(timelineEvent as any).source?.issue?.pull_request?.url.includes(
|
||||
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
|
||||
)
|
||||
) {
|
||||
crossReferencing.push((timelineEvent as any).source.issue.number)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If we dont have any closing info, try to get it from linked issues (PRs).
|
||||
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
|
||||
if (!closingCommit) {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}, this.options).getClosingInfo(alreadyChecked)
|
||||
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
|
||||
closingCommit = closed
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
|
||||
return closingCommit
|
||||
}
|
||||
}
|
||||
|
||||
function isIssue(object: any): object is Issue {
|
||||
const isIssue =
|
||||
'author' in object &&
|
||||
'body' in object &&
|
||||
'title' in object &&
|
||||
'labels' in object &&
|
||||
'open' in object &&
|
||||
'locked' in object &&
|
||||
'number' in object &&
|
||||
'numComments' in object &&
|
||||
'reactions' in object &&
|
||||
'milestoneId' in object
|
||||
|
||||
return isIssue
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Action = void 0;
|
||||
const octokit_1 = require("../api/octokit");
|
||||
const github_1 = require("@actions/github");
|
||||
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);
|
||||
}
|
||||
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,
|
||||
},
|
||||
});
|
||||
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');
|
||||
}
|
||||
}
|
||||
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;
|
||||
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);
|
||||
}
|
||||
else if (github_1.context.eventName === 'issues') {
|
||||
switch (github_1.context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit);
|
||||
break;
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit);
|
||||
break;
|
||||
case 'closed':
|
||||
await this.onClosed(octokit);
|
||||
break;
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, github_1.context.payload.label.name);
|
||||
break;
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
|
||||
break;
|
||||
case 'edited':
|
||||
await this.onEdited(octokit);
|
||||
break;
|
||||
case 'milestoned':
|
||||
await this.onMilestoned(octokit);
|
||||
break;
|
||||
default:
|
||||
throw Error('Unexpected action: ' + github_1.context.payload.action);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
await this.error(e);
|
||||
}
|
||||
const usage = await utils_1.getRateLimit(this.token);
|
||||
}
|
||||
async error(error) {
|
||||
const details = {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
};
|
||||
if (github_1.context.issue.number)
|
||||
details.issue = github_1.context.issue.number;
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
|
||||
Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`;
|
||||
await utils_1.logErrorToIssue(rendered, true, this.token);
|
||||
core_1.setFailed(error.message);
|
||||
}
|
||||
async onTriggered(_octokit) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onEdited(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onLabeled(_issue, _label) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onUnassigned(_issue, _label) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onOpened(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onReopened(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onClosed(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onMilestoned(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onCommented(_issue, _comment, _actor) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
}
|
||||
exports.Action = Action;
|
||||
//# sourceMappingURL=Action.js.map
|
||||
@@ -0,0 +1,137 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
export abstract class Action {
|
||||
abstract id: string
|
||||
|
||||
private username: Promise<string>
|
||||
private token = getRequiredInput('token')
|
||||
|
||||
constructor() {
|
||||
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
|
||||
}
|
||||
|
||||
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
|
||||
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')
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
const token = getRequiredInput('token')
|
||||
const readonly = !!getInput('readonly')
|
||||
|
||||
const issue = context?.issue?.number
|
||||
if (issue) {
|
||||
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') {
|
||||
switch (context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit)
|
||||
break
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit)
|
||||
break
|
||||
case 'closed':
|
||||
await this.onClosed(octokit)
|
||||
break
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, context.payload.label.name)
|
||||
break
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, context.payload.assignee.login)
|
||||
break
|
||||
case 'edited':
|
||||
await this.onEdited(octokit)
|
||||
break
|
||||
case 'milestoned':
|
||||
await this.onMilestoned(octokit)
|
||||
break
|
||||
default:
|
||||
throw Error('Unexpected action: ' + context.payload.action)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
|
||||
}
|
||||
} catch (e) {
|
||||
await this.error(e)
|
||||
}
|
||||
|
||||
const usage = await getRateLimit(this.token)
|
||||
}
|
||||
|
||||
private async error(error: Error) {
|
||||
const details: any = {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
}
|
||||
|
||||
if (context.issue.number) details.issue = context.issue.number
|
||||
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
|
||||
Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`
|
||||
await logErrorToIssue(rendered, true, this.token)
|
||||
|
||||
setFailed(error.message)
|
||||
}
|
||||
|
||||
protected async onTriggered(_octokit: OctoKit): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ActionBase = void 0;
|
||||
class ActionBase {
|
||||
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
this.labels = labels;
|
||||
this.milestoneName = milestoneName;
|
||||
this.milestoneId = milestoneId;
|
||||
this.ignoreLabels = ignoreLabels;
|
||||
this.ignoreMilestoneNames = ignoreMilestoneNames;
|
||||
this.ignoreMilestoneIds = ignoreMilestoneIds;
|
||||
this.minimumVotes = minimumVotes;
|
||||
this.maximumVotes = maximumVotes;
|
||||
this.involves = involves;
|
||||
this.labelsSet = [];
|
||||
this.ignoreLabelsSet = [];
|
||||
this.ignoreMilestoneNamesSet = [];
|
||||
this.ignoreMilestoneIdsSet = [];
|
||||
this.ignoreAllWithLabels = false;
|
||||
this.ignoreAllWithMilestones = false;
|
||||
this.involvesSet = [];
|
||||
}
|
||||
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}`);
|
||||
// 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.
|
||||
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
|
||||
// If label inclusion and exclusion are mixed, exclusion will take precedence.
|
||||
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
|
||||
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
|
||||
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
|
||||
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
|
||||
// All indicated labels must be present
|
||||
if (this.labels) {
|
||||
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
|
||||
this.labels = this.labels.substring(1, this.labels.length - 2);
|
||||
}
|
||||
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
// The "involves" qualifier to find issues that in some way involve a certain user.
|
||||
// It is a logical OR between the author, assignee, and mentions.
|
||||
if (this.involves) {
|
||||
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
|
||||
for (const str of this.involvesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` involves:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`);
|
||||
this.ignoreAllWithLabels = true;
|
||||
}
|
||||
else {
|
||||
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.milestoneName) {
|
||||
query = query.concat(` milestone:"${this.milestoneName}"`);
|
||||
}
|
||||
else if (this.ignoreMilestoneNames) {
|
||||
if (this.ignoreMilestoneNames == "*") {
|
||||
query = query.concat(` no:milestone`);
|
||||
this.ignoreAllWithMilestones = true;
|
||||
}
|
||||
else if (this.ignoreMilestoneIds) {
|
||||
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
|
||||
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
|
||||
for (const str of this.ignoreMilestoneNamesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -milestone:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return query;
|
||||
}
|
||||
// This is necessary because GitHub sometimes returns incorrect results,
|
||||
// and because issues may get modified while we are processing them.
|
||||
validateIssue(issue) {
|
||||
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.`);
|
||||
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.`);
|
||||
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.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Make sure no labels we wanted to ignore are present.
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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.`);
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.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.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
let upvotes = 0;
|
||||
if (issue.reactions) {
|
||||
upvotes = issue.reactions['+1'];
|
||||
}
|
||||
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}`);
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
exports.ActionBase = ActionBase;
|
||||
//# sourceMappingURL=ActionBase.js.map
|
||||
@@ -0,0 +1,187 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Issue } from '../api/api'
|
||||
|
||||
export class ActionBase {
|
||||
constructor(
|
||||
private labels?: string,
|
||||
private milestoneName?: string,
|
||||
private milestoneId?: string,
|
||||
private ignoreLabels?: string,
|
||||
private ignoreMilestoneNames?: string,
|
||||
private ignoreMilestoneIds?: string,
|
||||
private minimumVotes?: number,
|
||||
private maximumVotes?: number,
|
||||
private involves?: string,
|
||||
) {}
|
||||
|
||||
private labelsSet: string[] = [];
|
||||
private ignoreLabelsSet: string[] = [];
|
||||
private ignoreMilestoneNamesSet: string[] = [];
|
||||
private ignoreMilestoneIdsSet: string[] = [];
|
||||
private ignoreAllWithLabels: boolean = false;
|
||||
private ignoreAllWithMilestones: boolean = false;
|
||||
private involvesSet: string[] = [];
|
||||
|
||||
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}`);
|
||||
|
||||
// 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.
|
||||
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
|
||||
|
||||
// If label inclusion and exclusion are mixed, exclusion will take precedence.
|
||||
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
|
||||
|
||||
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
|
||||
|
||||
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
|
||||
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
|
||||
|
||||
// All indicated labels must be present
|
||||
if (this.labels) {
|
||||
if (this.labels?.length > 2 && this.labels?.startsWith('"') && this.labels?.endsWith('"')) {
|
||||
this.labels = this.labels.substring(1, this.labels.length - 2);
|
||||
}
|
||||
this.labelsSet = this.labels?.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The "involves" qualifier to find issues that in some way involve a certain user.
|
||||
// It is a logical OR between the author, assignee, and mentions.
|
||||
if (this.involves) {
|
||||
this.involvesSet = this.involves?.split(',');
|
||||
for (const str of this.involvesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` involves:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`)
|
||||
this.ignoreAllWithLabels = true;
|
||||
} else {
|
||||
this.ignoreLabelsSet = this.ignoreLabels?.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.milestoneName) {
|
||||
query = query.concat(` milestone:"${this.milestoneName}"`)
|
||||
}
|
||||
else if (this.ignoreMilestoneNames) {
|
||||
if (this.ignoreMilestoneNames == "*") {
|
||||
query = query.concat(` no:milestone`)
|
||||
this.ignoreAllWithMilestones = true;
|
||||
} else if (this.ignoreMilestoneIds) {
|
||||
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
|
||||
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
|
||||
for (const str of this.ignoreMilestoneNamesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -milestone:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
// This is necessary because GitHub sometimes returns incorrect results,
|
||||
// and because issues may get modified while we are processing them.
|
||||
validateIssue(issue: Issue): boolean {
|
||||
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.`);
|
||||
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.`);
|
||||
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.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Make sure no labels we wanted to ignore are present.
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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.`);
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.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.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
let upvotes = 0;
|
||||
if (issue.reactions) {
|
||||
upvotes = issue.reactions['+1'];
|
||||
}
|
||||
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}`);
|
||||
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}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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;
|
||||
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) => {
|
||||
let { body, title } = issue;
|
||||
body = body !== null && body !== void 0 ? body : '';
|
||||
title = title !== null && title !== void 0 ? 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);
|
||||
const cleanse = (str) => {
|
||||
let out = str
|
||||
.toLowerCase()
|
||||
.replace(/<!--.*-->/gu, '')
|
||||
.replace(/.* version: .*/gu, '')
|
||||
.replace(/issue type: .*/gu, '')
|
||||
.replace(/vs ?code/gu, '')
|
||||
.replace(/we have written.*please paste./gu, '')
|
||||
.replace(/steps to reproduce:/gu, '')
|
||||
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
|
||||
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
|
||||
.replace(/\s+/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);
|
||||
}
|
||||
return out;
|
||||
};
|
||||
return {
|
||||
body: cleanse(body),
|
||||
title: cleanse(title),
|
||||
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;
|
||||
const usage = {};
|
||||
['core', 'graphql', 'search'].forEach(async (category) => {
|
||||
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
|
||||
});
|
||||
return usage;
|
||||
};
|
||||
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 };
|
||||
}
|
||||
else if (exports.getInput('errorLogIssueNumber')) {
|
||||
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
return undefined;
|
||||
}
|
||||
})();
|
||||
exports.logErrorToIssue = async (message, ping, token) => {
|
||||
// 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') })
|
||||
.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}
|
||||
|
||||
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
|
||||
|
||||
<!-- Context:
|
||||
${JSON.stringify(github_1.context, null, 2)
|
||||
.replace(/<!--/gu, '<@--')
|
||||
.replace(/-->/gu, '--@>')
|
||||
.replace(/\/|\\/gu, 'slash-')}
|
||||
-->
|
||||
`);
|
||||
};
|
||||
//# sourceMappingURL=utils.js.map
|
||||
@@ -0,0 +1,119 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* 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'
|
||||
|
||||
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; 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)
|
||||
const isFeatureRequest =
|
||||
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
|
||||
|
||||
const cleanse = (str: string) => {
|
||||
let out = str
|
||||
.toLowerCase()
|
||||
.replace(/<!--.*-->/gu, '')
|
||||
.replace(/.* version: .*/gu, '')
|
||||
.replace(/issue type: .*/gu, '')
|
||||
.replace(/vs ?code/gu, '')
|
||||
.replace(/we have written.*please paste./gu, '')
|
||||
.replace(/steps to reproduce:/gu, '')
|
||||
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
|
||||
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
|
||||
.replace(/\s+/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)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
|
||||
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
|
||||
|
||||
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$/, '')
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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 }
|
||||
} else if (getInput('errorLogIssueNumber')) {
|
||||
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
} catch (e) {
|
||||
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)
|
||||
|
||||
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!getInput('readonly') })
|
||||
.postComment(`
|
||||
Workflow: ${context.workflow}
|
||||
|
||||
Error: ${message}
|
||||
|
||||
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
|
||||
|
||||
Repo: ${context.repo.owner}/${context.repo.repo}
|
||||
|
||||
<!-- Context:
|
||||
${JSON.stringify(context, null, 2)
|
||||
.replace(/<!--/gu, '<@--')
|
||||
.replace(/-->/gu, '--@>')
|
||||
.replace(/\/|\\/gu, 'slash-')}
|
||||
-->
|
||||
`)
|
||||
}
|
||||
Generated
+1437
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "vscode-cpptools-github-triage-actions",
|
||||
"version": "1.0.0",
|
||||
"description": "GitHub Actions used by VS Code cpptools for triaging issues",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"lint": "eslint -c .eslintrc --fix --ext .ts .",
|
||||
"watch": "tsc --watch"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.6",
|
||||
"@actions/github": "^2.1.1",
|
||||
"axios": "^0.21.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^6.8.0",
|
||||
"typescript": "^3.8.3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2019",
|
||||
"strict": true,
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"removeComments": false,
|
||||
"resolveJsonModule": true,
|
||||
"sourceMap": true,
|
||||
"lib": [
|
||||
"es2020"
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"**/*.test.ts",
|
||||
"**/vm-filesystem/**"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
name: By Design closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: by design,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'by design'."
|
||||
@@ -0,0 +1,28 @@
|
||||
name: By Design Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 0 12 * * * # Run at 12:00 PM UTC (4:00 AM PST, 5:00 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: 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."
|
||||
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,55 @@
|
||||
name: CI (Linux)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.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
|
||||
@@ -0,0 +1,55 @@
|
||||
name: CI (Mac)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install --network-timeout 100000
|
||||
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
|
||||
@@ -0,0 +1,51 @@
|
||||
name: CI (Windows)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 14.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.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
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Duplicate Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 12 * * * # Run at 12:10 PM UTC (4:10 AM PST, 5:10 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: 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."
|
||||
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. 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. 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
|
||||
@@ -0,0 +1,26 @@
|
||||
name: External closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: external,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'external'."
|
||||
@@ -0,0 +1,30 @@
|
||||
name: Feature Request 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: Feature Request
|
||||
ignoreLabels: debugger,internal
|
||||
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."
|
||||
setMilestoneId: 30
|
||||
ignoreMilestoneNames: "*"
|
||||
@@ -0,0 +1,30 @@
|
||||
name: Feature Request 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: Feature Request
|
||||
ignoreLabels: debugger,internal
|
||||
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."
|
||||
milestoneName: Triage
|
||||
milestoneId: 30
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Feature Request 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: Feature Request
|
||||
minimumVotes: 3
|
||||
ignoreLabels: debugger,internal
|
||||
milestoneId: 30
|
||||
milestoneName: Triage
|
||||
setMilestoneId: 28
|
||||
removeLabels: more votes needed
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Investigate closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: investigate,debugger
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed automatically because it has not had recent activity."
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Investigate Costing closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: "investigate: costing,debugger"
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed automatically because it has not had recent activity."
|
||||
@@ -0,0 +1,25 @@
|
||||
name: Locker
|
||||
on:
|
||||
schedule:
|
||||
- cron: 30 11 * * * # Run at 11:30 AM UTC (3:30 AM PST, 4:30 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 Locker
|
||||
uses: ./.github/actions/Locker
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
daysSinceClose: 45
|
||||
daysSinceUpdate: 3
|
||||
ignoreLabels: more votes needed,debugger,internal
|
||||
@@ -0,0 +1,29 @@
|
||||
name: More Info Needed Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: more info needed,debugger
|
||||
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."
|
||||
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."
|
||||
@@ -0,0 +1,28 @@
|
||||
name: More Info Needed Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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: 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."
|
||||
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."
|
||||
@@ -0,0 +1,29 @@
|
||||
name: Question Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4: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: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: question,debugger
|
||||
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."
|
||||
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."
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Question Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4: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: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
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."
|
||||
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."
|
||||
+2
-1
@@ -6,7 +6,8 @@ browse*.db*
|
||||
*.exe
|
||||
*.ilk
|
||||
|
||||
# ignore exported localization xlf directory
|
||||
# ignore exported localization xlf and LCL directories
|
||||
Build/loc/LCL
|
||||
vscode-extensions-localization-export
|
||||
|
||||
# ignore imported localization xlf directory
|
||||
|
||||
@@ -0,0 +1,299 @@
|
||||
NOTICES AND INFORMATION
|
||||
Do Not Translate or Localize
|
||||
|
||||
This software incorporates material from third parties. Microsoft makes certain
|
||||
open source code available at https://3rdpartysource.microsoft.com, or you may
|
||||
send a check or money order for US $5.00, including the product name, the open
|
||||
source component name, and version number, to:
|
||||
|
||||
Source Code Compliance Team
|
||||
Microsoft Corporation
|
||||
One Microsoft Way
|
||||
Redmond, WA 98052
|
||||
USA
|
||||
|
||||
Notwithstanding any other terms, you may reverse engineer this software to the
|
||||
extent required to debug changes to any libraries licensed under the GNU Lesser
|
||||
General Public License.
|
||||
|
||||
---
|
||||
|
||||
LLDB-MI
|
||||
|
||||
==============================================================================
|
||||
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
|
||||
==============================================================================
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
|
||||
---- LLVM Exceptions to the Apache 2.0 License ----
|
||||
|
||||
As an exception, if, as a result of your compiling your source code, portions
|
||||
of this Software are embedded into an Object form of such source code, you
|
||||
may redistribute such embedded portions in such Object form without complying
|
||||
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
|
||||
|
||||
In addition, if you combine or link compiled forms of this Software with
|
||||
software that is licensed under the GPLv2 ("Combined Software") and if a
|
||||
court of competent jurisdiction determines that the patent provision (Section
|
||||
3), the indemnity provision (Section 9) or other Section of the License
|
||||
conflicts with the conditions of the GPLv2, you may retroactively and
|
||||
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
||||
the License, but only in their entirety and only with respect to the Combined
|
||||
Software.
|
||||
|
||||
==============================================================================
|
||||
Software from third parties included in the LLVM Project:
|
||||
==============================================================================
|
||||
The LLVM Project contains third party software which is under different license
|
||||
terms. All such code will be identified clearly using at least one of two
|
||||
mechanisms:
|
||||
1) It will be in a separate directory tree with its own `LICENSE.txt` or
|
||||
`LICENSE` file at the top containing the specific license and restrictions
|
||||
which apply to that software, or
|
||||
2) It will contain specific license and restriction terms at the top of every
|
||||
file.
|
||||
|
||||
==============================================================================
|
||||
Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
|
||||
==============================================================================
|
||||
University of Illinois/NCSA
|
||||
Open Source License
|
||||
|
||||
Copyright (c) 2010 Apple Inc.
|
||||
All rights reserved.
|
||||
|
||||
Developed by:
|
||||
|
||||
LLDB Team
|
||||
|
||||
http://lldb.llvm.org/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal with
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of the LLDB Team, copyright holders, nor the names of
|
||||
its contributors may be used to endorse or promote products derived from
|
||||
this Software without specific prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||
SOFTWARE.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,125 @@
|
||||
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"
|
||||
|
||||
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
|
||||
|
||||
- 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'
|
||||
@@ -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,55 @@
|
||||
# ==================================================================================
|
||||
# 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:
|
||||
vmImage: 'windows-latest'
|
||||
|
||||
steps:
|
||||
- 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
|
||||
+2
-2
@@ -6,14 +6,14 @@
|
||||
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
|
||||
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
|
||||
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
|
||||
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
|
||||
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
|
||||
|
||||
## About the Code
|
||||
|
||||
* Execution starts in the `activate` method in [**main.ts**](Extension/src/main.ts).
|
||||
* `processRuntimeDependencies` handles the downloading and installation of the OS-dependent files. Downloading code exists in [**packageManager.ts**](Extension/src/packageManager.ts).
|
||||
* `downloadCpptoolsJsonPkg` handles the **cpptools.json**, which can be used to enable changes to occur mid-update, such as turning the `intelliSenseEngine` to `"Default"` for a certain percentage of users.
|
||||
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension/src/Debugger) folder.
|
||||
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension/src/Debugger) folder.
|
||||
* [**LanguageServer/client.ts**](Extension/src/LanguageServer/client.ts) handles various language server functionality.
|
||||
* [**LanguageServer/configurations.ts**](Extension/src/LanguageServer/configurations.ts) handles functionality related to **c_cpp_properties.json**.
|
||||
* [**telemetry.ts**](Extension/src/telemetry.ts): Telemetry data gets sent to either `logLanguageServerEvent` or `logDebuggerEvent`.
|
||||
|
||||
@@ -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 |
|
||||
@@ -1,6 +1,6 @@
|
||||
# How To Debug MIEngine
|
||||
|
||||
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
|
||||
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
|
||||
|
||||
**Repository:** https://github.com/Microsoft/MIEngine
|
||||
|
||||
@@ -19,7 +19,7 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
|
||||
|
||||
The symbol files are as follows:
|
||||
|
||||
**On Windows**
|
||||
**On Windows**
|
||||
* Microsoft.MICore.pdb
|
||||
* Microsoft.MIDebugEngine.pdb
|
||||
* vscode\OpenDebugAD7.pdb
|
||||
@@ -37,7 +37,7 @@ On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\D
|
||||
|
||||
If you are not building the extension, Locate the **out\src\Debugger\extension.ts** file in the **.vscode\extensions\ms-vscode.cpptools** folder and open it in an editor.
|
||||
|
||||
Locate the following lines:
|
||||
Locate the following lines:
|
||||
```json
|
||||
return {
|
||||
command: command
|
||||
@@ -48,13 +48,13 @@ and add the following line to the object:
|
||||
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.
|
||||
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/).
|
||||
@@ -78,12 +78,12 @@ MonoDevelop.exe
|
||||
|
||||
##### Configure the extension to enable remote debugging
|
||||
|
||||
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
|
||||
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
|
||||
|
||||
##### 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.
|
||||
|
||||
@@ -113,7 +113,7 @@ After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F
|
||||
|
||||
##### Configure the extension to enable remote debugging
|
||||
|
||||
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
|
||||
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
|
||||
|
||||
##### Attach the remote debugger
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
*.js
|
||||
test/**/index.ts
|
||||
test/**/runTest.ts
|
||||
tools/prepublish.js
|
||||
@@ -0,0 +1,154 @@
|
||||
module.exports = {
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "tsconfig.json",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"@typescript-eslint/tslint",
|
||||
"eslint-plugin-jsdoc",
|
||||
"@typescript-eslint/eslint-plugin-tslint",
|
||||
"eslint-plugin-import",
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/adjacent-overload-signatures": "error",
|
||||
"@typescript-eslint/array-type": "error",
|
||||
"camelcase": "off",
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": "typeLike",
|
||||
"format": ["PascalCase"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": "error",
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error",
|
||||
{
|
||||
"multiline": {
|
||||
"delimiter": "semi",
|
||||
"requireLast": true
|
||||
},
|
||||
"singleline": {
|
||||
"delimiter": "semi",
|
||||
"requireLast": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-misused-new": "error",
|
||||
"@typescript-eslint/no-namespace": "error",
|
||||
"@typescript-eslint/no-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-this-alias": "error",
|
||||
"@typescript-eslint/no-unnecessary-qualifier": "error",
|
||||
"@typescript-eslint/no-unnecessary-type-arguments": "error",
|
||||
"@typescript-eslint/no-var-requires": "error",
|
||||
"@typescript-eslint/prefer-function-type": "error",
|
||||
"@typescript-eslint/prefer-namespace-keyword": "error",
|
||||
"@typescript-eslint/semi": "error",
|
||||
"@typescript-eslint/triple-slash-reference": "error",
|
||||
"@typescript-eslint/type-annotation-spacing": "error",
|
||||
"@typescript-eslint/unified-signatures": "error",
|
||||
"arrow-body-style": "error",
|
||||
"comma-dangle": "error",
|
||||
"constructor-super": "error",
|
||||
"curly": "error",
|
||||
"eol-last": "error",
|
||||
"eqeqeq": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"import/no-default-export": "error",
|
||||
"import/no-unassigned-import": "error",
|
||||
"jsdoc/no-types": "error",
|
||||
"new-parens": "error",
|
||||
"no-bitwise": "error",
|
||||
"no-caller": "error",
|
||||
"no-cond-assign": "error",
|
||||
"no-debugger": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-eval": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-invalid-this": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"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-undef-init": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-var": "error",
|
||||
"one-var": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"prefer-const": "error",
|
||||
"prefer-object-spread": "error",
|
||||
"space-in-parens": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"spaced-comment": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"use-isnan": "error",
|
||||
"valid-typeof": "error",
|
||||
"yoda": "error",
|
||||
"@typescript-eslint/tslint/config": [
|
||||
"error",
|
||||
{
|
||||
"rules": {
|
||||
"encoding": true,
|
||||
"file-header": [
|
||||
true,
|
||||
".*"
|
||||
],
|
||||
"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"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
@@ -9,8 +9,10 @@ dist
|
||||
server
|
||||
debugAdapters
|
||||
LLVM
|
||||
bin/Microsoft.VSCode.CPP.*
|
||||
bin/vcmeta.dll
|
||||
bin/cpptools*
|
||||
bin/*.dll
|
||||
bin/.vs
|
||||
bin/LICENSE.txt
|
||||
|
||||
# ignore lock files
|
||||
install.lock
|
||||
@@ -31,3 +33,4 @@ localized_string_ids.h
|
||||
|
||||
# ignore generate files. It will be generated when building
|
||||
src/nativeStrings.ts
|
||||
|
||||
|
||||
Vendored
+36
-19
@@ -77,13 +77,47 @@
|
||||
"preLaunchTask": "TypeScript Compile Watch",
|
||||
},
|
||||
{
|
||||
"name": "Launch Tests",
|
||||
"name": "Launch Unit Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests"
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
{
|
||||
"name": "Launch Integration Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest",
|
||||
},
|
||||
{
|
||||
"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,
|
||||
@@ -98,22 +132,5 @@
|
||||
"request": "attach",
|
||||
"port": 5858
|
||||
},
|
||||
{
|
||||
"name": "Launch Integration Tests",
|
||||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": [
|
||||
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer"
|
||||
],
|
||||
"stopOnEntry": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/test/**/*.js"
|
||||
],
|
||||
"preLaunchTask": "Pretest"
|
||||
},
|
||||
]
|
||||
}
|
||||
Vendored
+8
-12
@@ -20,9 +20,7 @@
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
"compile"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -33,11 +31,11 @@
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"tslint"
|
||||
"lint"
|
||||
],
|
||||
"problemMatcher": {
|
||||
"fileLocation": "absolute",
|
||||
"source": "tslint",
|
||||
"source": "lint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
|
||||
@@ -95,9 +93,7 @@
|
||||
"command": "yarn",
|
||||
"args": [
|
||||
"run",
|
||||
"compile-watch",
|
||||
"--loglevel",
|
||||
"silent"
|
||||
"compile-watch"
|
||||
],
|
||||
"problemMatcher": [
|
||||
{
|
||||
@@ -121,10 +117,10 @@
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
"regexp": "asset"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
"regexp": "webpack (.*?) compiled (.*?) ms"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -162,10 +158,10 @@
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "Compilation (.*?)starting…"
|
||||
"regexp": "asset"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "Compilation (.*?)finished"
|
||||
"regexp": "webpack (.*?) compiled (.*?) ms"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ jobs/**
|
||||
tsconfig.json
|
||||
test.tsconfig.json
|
||||
tslint.json
|
||||
.eslintrc.js
|
||||
webpack.config.js
|
||||
tscCompileList.txt
|
||||
gulpfile.js
|
||||
@@ -40,3 +41,6 @@ translations_auto_pr.js
|
||||
|
||||
# ignore i18n language files
|
||||
i18n/**
|
||||
|
||||
# ignore node_modules
|
||||
node_modules/
|
||||
|
||||
+575
-19
@@ -1,30 +1,586 @@
|
||||
# C/C++ for Visual Studio Code Change Log
|
||||
|
||||
## Version 0.26.3-insiders2: December 18, 2019
|
||||
### Bug Fixes
|
||||
* Fix IntelliSense regression crashes. [#4754](https://github.com/microsoft/vscode-cpptools/issues/4754)
|
||||
* Fix Insiders channel not auto-downgrading after an Insiders vsix is unpublished. [#4760](https://github.com/microsoft/vscode-cpptools/issues/4760)
|
||||
* Fix Insiders channel not working on remote targets. [#3874](https://github.com/microsoft/vscode-cpptools/issues/3874)
|
||||
## 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.
|
||||
|
||||
## Version 0.26.3-insiders: December 16, 2019
|
||||
### Bug Fixes
|
||||
* Fix clang-cl detection for system includes and defines.
|
||||
* 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
|
||||
* 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)
|
||||
* [#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 multiroot 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)
|
||||
* 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
|
||||
* Fix `Switch Header/Source` in two cases when symlinks are in the path. [#6855](https://github.com/microsoft/vscode-cpptools/issues/6855)
|
||||
* Fix clang-format FixNamespaceComments default. [#6894](https://github.com/microsoft/vscode-cpptools/issues/6894)
|
||||
* Fix an issue with querying certain compilers for system defines and system includes [#6898](https://github.com/microsoft/vscode-cpptools/issues/6898)
|
||||
* Fix an issue preventing detection of default target and default language standard of Cygwin and WSL compilers. [#6902](https://github.com/microsoft/vscode-cpptools/issues/6902)
|
||||
* Fix an issue with detection of Apple Clang. [#6916](https://github.com/microsoft/vscode-cpptools/issues/6916)
|
||||
* Fix endless memory usage (or a crash) with certain code. [#6940](https://github.com/microsoft/vscode-cpptools/issues/6940)
|
||||
* Fix "format after newline" with vcFormat. [#6942](https://github.com/microsoft/vscode-cpptools/issues/6942)
|
||||
* Fix compiler querying with -Xclang and -include-pch arguments. [#6944](https://github.com/microsoft/vscode-cpptools/issues/6944)
|
||||
* Switch to the signed LLDB-MI on Mac 10.14 or newer with the online vsix. [#6945](https://github.com/microsoft/vscode-cpptools/issues/6945)
|
||||
|
||||
## Version 1.2.0: February 2, 2021
|
||||
### New Features
|
||||
* Add support for cross-compilation configurations for IntelliSense. For example, `intelliSenseMode` value "linux-gcc-x64" could be used on a Mac host machine. [#1083](https://github.com/microsoft/vscode-cpptools/issues/1083)
|
||||
|
||||
### Enhancements
|
||||
* Show configuration squiggles when configurations with the same name exist. [#3412](https://github.com/microsoft/vscode-cpptools/issues/3412)
|
||||
* Add `C_Cpp.addNodeAddonIncludePaths` setting to add include paths from `nan` and `node-addon-api` when they're dependencies. [#4854](https://github.com/microsoft/vscode-cpptools/issues/4854)
|
||||
* Bruce MacNaughton (@bmacnaughton) [PR #67331](https://github.com/microsoft/vscode-cpptools/pull/6731)
|
||||
* Add command `Generate EditorConfig contents from VC Format settings`. [#6018](https://github.com/microsoft/vscode-cpptools/issues/6018)
|
||||
* Update to clang-format 11.1. [#6326](https://github.com/microsoft/vscode-cpptools/issues/6326)
|
||||
* Add clang-format built for Windows ARM64. [#6494](https://github.com/microsoft/vscode-cpptools/issues/6494)
|
||||
* Add support for the `/await` flag with msvc IntelliSense. [#6596](https://github.com/microsoft/vscode-cpptools/issues/6596)
|
||||
* Increase document/workspace symbol limit from 1000 to 10000. [#6766](https://github.com/microsoft/vscode-cpptools/issues/6766)
|
||||
* Add new "console" launch config for cppvsdbg. [PR #6794](https://github.com/microsoft/vscode-cpptools/pull/6794)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix handling of `--sysroot` and `-isysroot` with `compileCommands`. [#1575](https://github.com/microsoft/vscode-cpptools/issues/1575)
|
||||
* Fix IntelliSense not updating if a non-opened header is changed. [#1780](https://github.com/microsoft/vscode-cpptools/issues/1780)
|
||||
* Fix IntelliSense involving overflow for unsigned int values. [#2202](https://github.com/microsoft/vscode-cpptools/issues/2202)
|
||||
* Fix IntelliSense not switching the language mode after changing C versus C++ `files.associations`. [#2557](https://github.com/microsoft/vscode-cpptools/issues/2557)
|
||||
* Fix Switch Header/Source not switching to an existing file in another column if it's not visible. [#2667](https://github.com/microsoft/vscode-cpptools/issues/2667), [#6749](https://github.com/microsoft/vscode-cpptools/issues/6749)
|
||||
* Fix autocomplete not working with `for` loop variables with C code. [#2946](https://github.com/microsoft/vscode-cpptools/issues/2946)
|
||||
* Fix `#include` completion not sorting _ last. [#3465](https://github.com/microsoft/vscode-cpptools/issues/3465)
|
||||
* Fix completion not working for templates in gcc/clang mode. [#3501](https://github.com/microsoft/vscode-cpptools/issues/3501)
|
||||
* Fix crash when certain JavaScript files are parsed as C++. [#3858](https://github.com/microsoft/vscode-cpptools/issues/3858)
|
||||
* Fix IntelliSense squiggle about not being able to assign to an object of its own type. [#3883](https://github.com/microsoft/vscode-cpptools/issues/3883)
|
||||
* Fix hover and Find All References for template function overloads. [#4044](https://github.com/microsoft/vscode-cpptools/issues/4044), [#4249](https://github.com/microsoft/vscode-cpptools/issues/4249)
|
||||
* Fix the Outline view for nested namespaces. [#4456](https://github.com/microsoft/vscode-cpptools/issues/4456)
|
||||
* Fix some IntelliSense parsing errors. [#4595](https://github.com/microsoft/vscode-cpptools/issues/4595), [#6362](https://github.com/microsoft/vscode-cpptools/issues/6362), [#6685](https://github.com/microsoft/vscode-cpptools/issues/6685)
|
||||
* Fix Outline view with`"**/.*"` in `files.exclude`. [#4602](https://github.com/microsoft/vscode-cpptools/issues/4602)
|
||||
* Fix build tasks errors in single file mode. [#4638](https://github.com/microsoft/vscode-cpptools/issues/4638), [#6764](https://github.com/microsoft/vscode-cpptools/issues/6764)
|
||||
* Fix the Outline view for nested structs/classes. [#4781](https://github.com/microsoft/vscode-cpptools/issues/4871)
|
||||
* Fix `files.exclude` not applying to watched files handlers. [#5141](https://github.com/microsoft/vscode-cpptools/issues/5141)
|
||||
* Fix code folding incorrectly matching an inactive `}`. [#5429](https://github.com/microsoft/vscode-cpptools/issues/5429)
|
||||
* Fix IntelliSense Clang version for Apple Clang. [#5500](https://github.com/microsoft/vscode-cpptools/issues/5500)
|
||||
* Fix hover doc comments not working if there's a selection. [#5635](https://github.com/microsoft/vscode-cpptools/issues/5635), [#6583](https://github.com/microsoft/vscode-cpptools/issues/6583)
|
||||
* Fix `#include` completion to include results for non-standard header file extensions. [#5698](https://github.com/microsoft/vscode-cpptools/issues/5698)
|
||||
* Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. [#5958](https://github.com/microsoft/vscode-cpptools/issues/5958)
|
||||
* Automatically configure to use a custom configuration provider if available and no other configuration exists. [#6150](https://github.com/microsoft/vscode-cpptools/issues/6150)
|
||||
* Fix not being able to attach to cpptools and cpptools-srv on Mac (to get crash call stacks). [#6151](https://github.com/microsoft/vscode-cpptools/issues/6151), [#6736](https://github.com/microsoft/vscode-cpptools/issues/6736)
|
||||
* Fix IntelliSense crashing with cl.exe with C++20 and span. [#6251](https://github.com/microsoft/vscode-cpptools/issues/6251)
|
||||
* Stop querying unsupported compilers. [#6314](https://github.com/microsoft/vscode-cpptools/issues/6314)
|
||||
* Fix an entry not found error for files in `compile_commands.json` that didn't initially exist. [#6311](https://github.com/microsoft/vscode-cpptools/issues/6311)
|
||||
* Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. [#6342](https://github.com/microsoft/vscode-cpptools/issues/6342)
|
||||
* Add a workaround for a missing compiler path for the `compile_commands.json` generated by Unreal Engine. [#6358](https://github.com/microsoft/vscode-cpptools/issues/6358)
|
||||
* Fix IntelliSense crash with coroutines. [#6363](https://github.com/microsoft/vscode-cpptools/issues/6363)
|
||||
* Add localized strings for `cppbuild` tasks. [#6436](https://github.com/microsoft/vscode-cpptools/issues/6436)
|
||||
* Fix IntelliSense squiggle with C++20 non-type templates. [#6462](https://github.com/microsoft/vscode-cpptools/issues/6462)
|
||||
* Fix `compilerArgs` processing with `-MF` and other multi-arg arguments. [#6478](https://github.com/microsoft/vscode-cpptools/issues/6478)
|
||||
* Fix bug causing `Unable to read process.env.HOME`. [#6468](https://github.com/microsoft/vscode-cpptools/issues/6468)
|
||||
* Fix gcc problem matcher when the column is missing.
|
||||
* @guntern [PR #6490](https://github.com/microsoft/vscode-cpptools/pull/6490)
|
||||
* Disable Insiders prompt for Codespaces. [#6491](https://github.com/microsoft/vscode-cpptools/issues/6491)
|
||||
* Fix `compile_commands.json` not working correctly for `*.C` files. [#6497](https://github.com/microsoft/vscode-cpptools/issues/6497)
|
||||
* Show an error message when gdb can't be found when generating a `launch.json` (instead of using an invalid `miDebuggerPath`). [#6511](https://github.com/microsoft/vscode-cpptools/issues/6511)
|
||||
* Fix IntelliSense not supporting `__float128` (and `Q` literals) on x64 Linux. [#6574](https://github.com/microsoft/vscode-cpptools/issues/6574)
|
||||
* Fix IntelliSense crash with a parenthesized type followed by an initializer list. [#6554](https://github.com/microsoft/vscode-cpptools/issues/6554), [#6624](https://github.com/microsoft/vscode-cpptools/issues/6624)
|
||||
* Fix IntelliSense updating after pasting multi-line code. [#6565](https://github.com/microsoft/vscode-cpptools/issues/6565)
|
||||
* Use "method" instead of "member" for semantic tokens. [#6569](https://github.com/microsoft/vscode-cpptools/issues/6569)
|
||||
* Fix `__builtin_coro_*` methods not recognized by IntelliSense in gcc mode with `-fcoroutines`. [#6575](https://github.com/microsoft/vscode-cpptools/issues/6575)
|
||||
* Fix the `else` snippet interfering with entering one line `else` statements. [#6582](https://github.com/microsoft/vscode-cpptools/issues/6582)
|
||||
* Stop showing an "unknown error" message after canceling the creation of a `launch.json`. [#6608](https://github.com/microsoft/vscode-cpptools/issues/6608)
|
||||
* Fix potential extension activation delay. [#6630](https://github.com/microsoft/vscode-cpptools/issues/6630)
|
||||
* Fix the executed command not appearing with cppbuild tasks. [#6647](https://github.com/microsoft/vscode-cpptools/issues/6647)
|
||||
* Fix IntelliSense crash on Mac due to IPCH file corruption. [#6673](https://github.com/microsoft/vscode-cpptools/issues/6673)
|
||||
* Fix `_Debug` not being defined when `/MDd` or `/MTd` are used. [#6690](https://github.com/microsoft/vscode-cpptools/issues/6690)
|
||||
* Fix infinite IntelliSense processing when C++20, gcc mode, and `-fcoroutines` and used. [#6709](https://github.com/microsoft/vscode-cpptools/issues/6709)
|
||||
* Allow the extension to run on M1 Macs. [#6713](https://github.com/microsoft/vscode-cpptools/issues/6713)
|
||||
* Xiangyi Meng (@xymeng16) [PR #6601](https://github.com/microsoft/vscode-cpptools/pull/6601)
|
||||
* Fix IntelliSense errors when "module" is used as a variable name with C++20. [#6719](https://github.com/microsoft/vscode-cpptools/issues/6719)
|
||||
* Fix `.` to `->` completion with multiple cursors. [#6720](https://github.com/microsoft/vscode-cpptools/issues/6720)
|
||||
* Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. [#6746](https://github.com/microsoft/vscode-cpptools/issues/6746)
|
||||
* Fix bugs with parsing of quotes and escape sequences in compiler args. [#6761](https://github.com/microsoft/vscode-cpptools/issues/6761)
|
||||
* Fix the configuration not showing in the status bar when `c_cpp_properties.json` is active. [#6765](https://github.com/microsoft/vscode-cpptools/issues/6765)
|
||||
* Fix compiler querying with compilers that do not output `__STD_VERSION__` by default (gcc <= 4.8.x). [#6792](https://github.com/microsoft/vscode-cpptools/issues/6792)
|
||||
* Fix document symbols when nested symbols have the same name as a parent. [#6830](https://github.com/microsoft/vscode-cpptools/issues/6830)
|
||||
* Fix automatic adding of header files to `files.associations` after `Go to Definition` on a `#include`. [#6845](https://github.com/microsoft/vscode-cpptools/issues/6845)
|
||||
* Fix `"Insiders"` `updateChannel` for VS Code - Exploration. [#6875](https://github.com/microsoft/vscode-cpptools/issues/6875)
|
||||
* Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
|
||||
* Fix cl.exe cppbuild tasks when `/nologo` is used (and make /nologo a default arg).
|
||||
* Fix a cpptools crash and multiple deadlocks.
|
||||
|
||||
## Version 1.1.3: December 3, 2020
|
||||
### Bug Fixes
|
||||
* Disable the "join Insiders" prompt for Linux CodeSpaces. [#6491](https://github.com/microsoft/vscode-cpptools/issues/6491)
|
||||
* Fix "shell" tasks giving error "Cannot read property `includes` of undefined". [#6538](https://github.com/microsoft/vscode-cpptools/issues/6538)
|
||||
* Fix various task variables not getting resolved with `cppbuild` tasks. [#6538](https://github.com/microsoft/vscode-cpptools/issues/6538)
|
||||
* Fix warnings not appearing with `cppbuild` tasks. [#6556](https://github.com/microsoft/vscode-cpptools/issues/6556)
|
||||
* Fix endless CPU/memory usage if the cpptools process crashes. [#6603](https://github.com/microsoft/vscode-cpptools/issues/6603)
|
||||
* 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
|
||||
* Fix resolution of `${fileDirname}` with `cppbuild` tasks. [#6386](https://github.com/microsoft/vscode-cpptools/issues/6386)
|
||||
|
||||
## Version 1.1.1: November 9, 2020
|
||||
### Bug Fixes
|
||||
* Fix cpptools binaries sometimes not getting installed on Windows. [#6453](https://github.com/microsoft/vscode-cpptools/issues/6453)
|
||||
|
||||
## Version 1.1.0: November 5, 2020
|
||||
### New Features
|
||||
* Add language server support for Windows ARM64 (no debugging yet). [#5583](https://github.com/microsoft/vscode-cpptools/issues/5583)
|
||||
* [cppdbg] Debugger Protocol Updates:
|
||||
* ReadMemoryRequest [PR MIEngine#1028](https://github.com/microsoft/MIEngine/pull/1028)
|
||||
* ModulesRequest and ModuleEvent [PR MIEngine#1054](https://github.com/microsoft/MIEngine/pull/1054)
|
||||
* [cppdbg] Support new SourceFileMap schema [PR #6319](https://github.com/microsoft/vscode-cpptools/pull/6319)
|
||||
|
||||
### Enhancements
|
||||
* Add support to run c/cpp build tasks. [#3674](https://github.com/microsoft/vscode-cpptools/issues/3674), [#5270](https://github.com/microsoft/vscode-cpptools/issues/5270), [#5285](https://github.com/microsoft/vscode-cpptools/issues/5285)
|
||||
* Tasks: Configure Task
|
||||
* Tasks: Run Build Task
|
||||
* C/C++: Build and debug active file.
|
||||
* Add logging around compiler querying, and the "C/C++ Configuration Warnings" output channel. [#5259](https://github.com/microsoft/vscode-cpptools/issues/5259)
|
||||
* Add compile commands info to Log Diagnostics. [#5761](https://github.com/microsoft/vscode-cpptools/issues/5761)
|
||||
* Add `intelliSenseUpdateDelay` setting. [#6142](https://github.com/microsoft/vscode-cpptools/issues/6142)
|
||||
* YuTengjing (@tjx666) [PR #6344](https://github.com/microsoft/vscode-cpptools/pull/6344)
|
||||
* Enable support for specifying a compiler by only the filename if it's in the environment path. [#6179](https://github.com/microsoft/vscode-cpptools/issues/6179)
|
||||
* Restart the IntelliSense process if its memory usage exceeds the `C_Cpp.intelliSenseMemoryLimit` setting. [#6230](https://github.com/microsoft/vscode-cpptools/issues/6230)
|
||||
* [cppdbg] Stepping out of a function will display '$ReturnValue'.
|
||||
* @Trass3r [PR MIEngine#1036](https://github.com/microsoft/MIEngine/pull/1036)
|
||||
* [cppdbg] Support composite expressions in natvis ArrayItems
|
||||
* @Trass3r [PR MIEngine#1044](https://github.com/microsoft/MIEngine/pull/1044)
|
||||
* Add handling of the "-ansi" compiler arg when querying gcc/clang compilers.
|
||||
* Add support for inferring the IntelliSenseMode based on the "--target" compiler arg.
|
||||
* Add support for inferring the C standard based on new c11/c17 language standard args for cl.exe.
|
||||
* Allow custom config providers to omit IntelliSenseMode and C/C++ language standard, enabling them to be inferred from the `compilerPath` and `compilerArgs`.
|
||||
|
||||
### Bug Fixes
|
||||
* Change macOS Framework searching to only parse the "Current" framework folder when the "Headers" folder is not found. [#2046](https://github.com/microsoft/vscode-cpptools/issues/2046)
|
||||
* Show the compiler path in the `Build and Debug Active File` dropdown. [#4278](https://github.com/microsoft/vscode-cpptools/issues/4278)
|
||||
* Fix incorrect signature help active argument with multiple template parameters. [#4786](https://github.com/microsoft/vscode-cpptools/issues/4786)
|
||||
* Fix bug with directories not getting created for browse.databaseFilename. [#5181](https://github.com/microsoft/vscode-cpptools/issues/5181)
|
||||
* Allow the debug configuration to wait for the preLaunchTask to complete before continuing on and resolving environment variables or processes that may have been set in the 'tasks.json'. [#5287](https://github.com/microsoft/vscode-cpptools/issues/5287)
|
||||
* Change the Windows SDK detection to require the shared, ucrt, and um folders. [#5817](https://github.com/microsoft/vscode-cpptools/issues/5817)
|
||||
* Fix issues with IntelliSense for clang-cl.exe. [#6075](https://github.com/microsoft/vscode-cpptools/issues/6075)
|
||||
* Fix "Comments are not permitted in JSON" error when `c_cpp_properties.json` is open but not active. [#6132](https://github.com/microsoft/vscode-cpptools/issues/6132)
|
||||
* Rename the C language standard setting values from c18 and gnu18 to c17 and gnu17. [#6105](https://github.com/microsoft/vscode-cpptools/issues/6105)
|
||||
* Add more IntelliSense support for std ranges, concepts, and modules exports (__cpp_lib_concepts is now enabled). [#6173](https://github.com/microsoft/vscode-cpptools/issues/6173)
|
||||
* Add "-fnoblocks" when querying clang on Mac, as IntelliSense does not currently support blocks. [#6189](https://github.com/microsoft/vscode-cpptools/issues/6189)
|
||||
* Fix clang-format on 32-bit Windows. [#6195](https://github.com/microsoft/vscode-cpptools/issues/6195)
|
||||
* Fix incorrect formatting results when clang-format removes duplicate includes. [#6205](https://github.com/microsoft/vscode-cpptools/issues/6205)
|
||||
* Fix a case where the main process could get stuck. [#6207](https://github.com/microsoft/vscode-cpptools/issues/6207)
|
||||
* 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 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)
|
||||
* Fix the handling of various compiler arg pairs when querying compilers.
|
||||
* Avoid parsing entries in compile_commands.json for file types that we do not support.
|
||||
* Fixed an issue in which only C or C++ system headers were added to the browse path, rather than both.
|
||||
* Fix issue causing some localized messages to be displayed incorrectly.
|
||||
* Fixed issue with shipping an older version of vsdbg in offline packages.
|
||||
|
||||
### Other Contributions
|
||||
* Refactoring provider classes.
|
||||
* Abhishek Pal (@devabhishekpal) [PR #5998](https://github.com/microsoft/vscode-cpptools/pull/5998)
|
||||
|
||||
## Version 1.0.1: September 21, 2020
|
||||
### Bug Fixes
|
||||
* Fix "No IL available" IntelliSense error on Linux/macOS when `#error` directives are present in the source code. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009), [#6114](https://github.com/microsoft/vscode-cpptools/issues/6114)
|
||||
* Fix issue on Windows with the language server not shutting down properly which causes the IntelliSense database to become corrupted. [PR #6141](https://github.com/microsoft/vscode-cpptools/issues/6141)
|
||||
* Fix "No IL available" IntelliSense error when predefined macros are undefined. [#6147](https://github.com/microsoft/vscode-cpptools/issues/6147)
|
||||
* Fix infinite loop IntelliSense regression. [#6166](https://github.com/microsoft/vscode-cpptools/issues/6166)
|
||||
|
||||
## Version 1.0.0: September 14, 2020
|
||||
### New Features
|
||||
* Support non-UTF-8 file encodings (GBK, UTF-16, etc.), excluding `files.autoGuessEncoding` support. [#414](https://github.com/microsoft/vscode-cpptools/issues/414)
|
||||
* Support for running the extension on Linux ARM devices (armhf/armv7l and aarch64/arm64), using remoting. [#429](https://github.com/microsoft/vscode-cpptools/issues/429), [#2506](https://github.com/microsoft/vscode-cpptools/issues/2506)
|
||||
* Add the `vcFormat` option to `C_Cpp.formatting` (with `C_Cpp.vcFormat.*` options) to enable VS-style formatting (instead of clang-format formatting). [#657](https://github.com/microsoft/vscode-cpptools/issues/657)
|
||||
* Add support for vcFormat settings in `.editorconfig` files. [PR #5932](https://github.com/microsoft/vscode-cpptools/pull/5932)
|
||||
|
||||
### Enhancements
|
||||
* Improve the download and installation progress bar. [#1961](https://github.com/microsoft/vscode-cpptools/issues/1961)
|
||||
* Add error codes and the "C/C++" source to IntelliSense errors. [#2345](https://github.com/microsoft/vscode-cpptools/issues/2345)
|
||||
* Add support for `/Zc:__cplusplus` in `compilerArgs` for cl.exe. [#2595](https://github.com/microsoft/vscode-cpptools/issues/2595)
|
||||
* Search for `compilerPath` in the PATH environment variable. [#3078](https://github.com/microsoft/vscode-cpptools/issues/3078), [#5908](https://github.com/microsoft/vscode-cpptools/issues/5908)
|
||||
* Validate crypto signatures of binaries we download. [#5268](https://github.com/microsoft/vscode-cpptools/issues/5268)
|
||||
* Add link to the documentation in the configuration UI. [#5875](https://github.com/microsoft/vscode-cpptools/issues/5875)
|
||||
* Abhishek Pal (@devabhishekpal) [PR #5991](https://github.com/microsoft/vscode-cpptools/pull/5991)
|
||||
* Allow comments, trailing commas, etc. in `c_cpp_properties.json` [#5885](https://github.com/microsoft/vscode-cpptools/issues/5885)
|
||||
* Prevent comments from being removed from json files when the extension modifies them.
|
||||
* @dan-shaw [PR #5954](https://github.com/microsoft/vscode-cpptools/pull/5954)
|
||||
* Add diagnostics on potentially conflicting recursive includes to `C/C++: Log Diagnostics`, i.e. if a workspace uses files with the same name as system headers. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009)
|
||||
* Add workspace parsing diagnostics. [#6048](https://github.com/microsoft/vscode-cpptools/issues/6048)
|
||||
* Add `wmain` snippet on Windows. [#6064](https://github.com/microsoft/vscode-cpptools/issues/6064)
|
||||
* More C++20 support.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix member completion in C code after an operator is used in an expression. [#2184](https://github.com/microsoft/vscode-cpptools/issues/2184)
|
||||
* Fix extension not creating `tasks.json` if the `.vscode` folder doesn’t exist. [#4280](https://github.com/microsoft/vscode-cpptools/issues/4280)
|
||||
* Fix installation of clang-format 10 with the online vsix. [#5194](https://github.com/microsoft/vscode-cpptools/issues/5194)
|
||||
* Get the compiler type to determine if it's Clang when querying for default compiler so that the correct default `intelliSenseMode` is set. [#5352](https://github.com/microsoft/vscode-cpptools/issues/5352)
|
||||
* Get the default language standard of the compiler and use that std version if no version is specified. [#5579](https://github.com/microsoft/vscode-cpptools/issues/5579)
|
||||
* Fix `configuration.includePath` to only add the `defaultFolder` when the default `includePath` is set. [#5621](https://github.com/microsoft/vscode-cpptools/issues/5621)
|
||||
* Fix an IntelliSense crash when using C++20 on Linux. [#5727](https://github.com/microsoft/vscode-cpptools/issues/5727)
|
||||
* 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 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)
|
||||
* Fix compiler querying when relative paths are used in `compile_commands.json`. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
|
||||
* Fix the compile commands compiler not being used if `C_Cpp.default.compilerPath` is set. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
|
||||
* Fix Doxygen comment to escape markdown characters. [#5904](https://github.com/microsoft/vscode-cpptools/issues/5904)
|
||||
* Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. `alignas`). [#6022](https://github.com/microsoft/vscode-cpptools/issues/6022)
|
||||
* Fix error message with `Build and Debug Active File`. [#6071](https://github.com/microsoft/vscode-cpptools/issues/6071)
|
||||
* Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.
|
||||
* Fix a bug that could cause the extension to delay processing a newly opened file until any outstanding IntelliSense operations are complete, if using a custom configuration provider.
|
||||
* Fix a bug with incorrect configuration of a file when using a custom configuration provider and no custom configuration is available for that file. This now falls back to the compiler info received from the configuration provider with the browse configuration.
|
||||
* Fix a bug in which making a modification to `c_cpp_properties.json` could result in custom configurations for currently open files being discarded and not re-requested.
|
||||
|
||||
### Potentially Breaking Changes
|
||||
* Settings `commentContinuationPatterns`, `enhancedColorization`, and `codeFolding` are no longer available in per-Folder settings (only Workspace or higher settings). [PR #5830](https://github.com/microsoft/vscode-cpptools/pull/5830)
|
||||
* Fix compile command arguments not being used when `compilerPath` is set (so the compile command arguments need to be compatible now).
|
||||
* If a non-matching `intelliSenseMode` was being used, such as clang-x64 with a gcc ARM compiler, then we may auto-fix it internally, which may cause changes to IntelliSense behavior.
|
||||
|
||||
### Known Issues
|
||||
* Using `clang-format` on ARM may require installing libtinfo5. [#5958](https://github.com/microsoft/vscode-cpptools/issues/5958)
|
||||
|
||||
## Version 0.29.0: July 15, 2020
|
||||
### New Features
|
||||
* Add Doxygen comment support (to tooltip display of hover, completion, and signature help). [#658](https://github.com/microsoft/vscode-cpptools/issues/658)
|
||||
* 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)
|
||||
|
||||
### 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)
|
||||
* Add configuration provider logging to `C/C++: Log Diagnostics`. [#4826](https://github.com/microsoft/vscode-cpptools/issues/4826)
|
||||
* Add support for the Debug Welcome Panel. [#4837](https://github.com/microsoft/vscode-cpptools/issues/4837)
|
||||
* Update to clang-format 10. [#5194](https://github.com/microsoft/vscode-cpptools/issues/5194)
|
||||
* Add system to store and query properties from the active C/C++ configuration.
|
||||
* bugengine (@bugengine) [PR #5453](https://github.com/microsoft/vscode-cpptools/pull/5453)
|
||||
* Add `quoteArgs` to `launch.json` schema. [PR #5639](https://github.com/microsoft/vscode-cpptools/pull/5639)
|
||||
* Add logs for a resolved `launch.json` if "engineLogging" is enabled. [PR #5644](https://github.com/microsoft/vscode-cpptools/pull/5644)
|
||||
* Add threadExit and processExit logging flags for 'cppvsdbg'. [PR #5652](https://github.com/microsoft/vscode-cpptools/pull/5652)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix IntelliSense when using "import_" in a variable name. [#5272](https://github.com/microsoft/vscode-cpptools/issues/5272)
|
||||
* Add localization support for autocomplete and hover text. [#5370](https://github.com/microsoft/vscode-cpptools/issues/5370)
|
||||
* Some `updateChannel` fixes. [PR #5465](https://github.com/microsoft/vscode-cpptools/pull/5465)
|
||||
* Fix wrong language standard used with compile commands. [#5498](https://github.com/microsoft/vscode-cpptools/issues/5498)
|
||||
* Fix issue with defines and includes not being handled correctly in `compilerPath` or `compilerArgs`. [#5512](https://github.com/microsoft/vscode-cpptools/issues/5512)
|
||||
* Add gcc/gcc-10 compiler detection. [#5540](https://github.com/microsoft/vscode-cpptools/issues/5540)
|
||||
* Fix `--target` compiler arg getting overridden. [#5557](https://github.com/microsoft/vscode-cpptools/issues/5557)
|
||||
* Matt Schulte (@schultetwin1)
|
||||
* Fix Find All References and Rename when multiple references are on the same line. [#5568](https://github.com/microsoft/vscode-cpptools/issues/5568)
|
||||
* Fix IntelliSense process crashes. [#5584](https://github.com/microsoft/vscode-cpptools/issues/5584), [#5629](https://github.com/microsoft/vscode-cpptools/issues/5629)
|
||||
* Fix an add/remove workspace folder crash. [#5591](https://github.com/microsoft/vscode-cpptools/issues/5591)
|
||||
* Fix default build tasks failing on Windows if the compiler isn't on the PATH. [#5604](https://github.com/microsoft/vscode-cpptools/issues/5604)
|
||||
* Fix updating `files.associations` and .C files being associated with C instead of C++. [#5618](https://github.com/microsoft/vscode-cpptools/issues/5618)
|
||||
* Fix IntelliSense malfunction when RxCpp is used. [#5619](https://github.com/microsoft/vscode-cpptools/issues/5619)
|
||||
* Fix an incorrect IntelliSense error. [#5627](https://github.com/microsoft/vscode-cpptools/issues/5627)
|
||||
* Ignore "screen size is bogus" error when debugging. [PR #5669](https://github.com/microsoft/vscode-cpptools/pull/5669)
|
||||
* nukoyluoglu (@nukoyluoglu)
|
||||
* Fix `compile_commands.json` sometimes not updating. [#5687](https://github.com/microsoft/vscode-cpptools/issues/5687)
|
||||
* Add msys2 clang compilers to the compiler search list (previously only gcc was handled). [#5697](https://github.com/microsoft/vscode-cpptools/issues/5697)
|
||||
* Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in `compilerArgs`. [#5731](https://github.com/microsoft/vscode-cpptools/issues/5731)
|
||||
* Fix forced includes not handled properly when parsed as compiler args. [#5738](https://github.com/microsoft/vscode-cpptools/issues/5738)
|
||||
* Fix potential thread deadlock in cpptools.
|
||||
* Fix copying a long value from debug watch results in pasting partial value [#5470](https://github.com/microsoft/vscode-cpptools/issues/5470)
|
||||
* [PR MIEngine#1009](https://github.com/microsoft/MIEngine/pull/1009)
|
||||
* Fix Modifying conditional breakpoints [#2297](https://github.com/microsoft/vscode-cpptools/issues/2297)
|
||||
* [PR MIEngine#1010](https://github.com/microsoft/MIEngine/pull/1010)
|
||||
* Fix find <miDebuggerPath>.exe in Windows path [#3076](https://github.com/microsoft/vscode-cpptools/issues/3076)
|
||||
* [PR MIEngine#1001](https://github.com/microsoft/MIEngine/pull/1001)
|
||||
|
||||
## Version 0.28.3: June 9, 2020
|
||||
### Enhancements
|
||||
* Update version of vscode-cpptools API to 4.0.1 [PR #5624](https://github.com/microsoft/vscode-cpptools/pull/5624)
|
||||
|
||||
## Version 0.28.2: June 1, 2020
|
||||
### Regression Bug Fixes
|
||||
* Fix string arrays in `env` not being joined properly. [#5509](https://github.com/microsoft/vscode-cpptools/issues/5509)
|
||||
* Krishna Ersson (@kersson) [PR #5510](https://github.com/microsoft/vscode-cpptools/pull/5510)
|
||||
* Fix `shell` being used as the C/C++ build task source instead of `C/C++`. [vscode-docs#3724](https://github.com/microsoft/vscode-docs/issues/3724)
|
||||
|
||||
### Other Bug Fixes
|
||||
* Fix `problemMatcher` not being added to C/C++ build tasks. [#3295](https://github.com/microsoft/vscode-cpptools/issues/3295)
|
||||
* Fix `/usr/bin` being used as the default `cwd` (instead of `${workspaceFolder}`) for C/C++ build tasks. [#4761](https://github.com/microsoft/vscode-cpptools/issues/4761)
|
||||
* Fix processing of quoted arguments with spaces in `compilerPath`. [PR #5513](https://github.com/microsoft/vscode-cpptools/pull/5513)
|
||||
* Fix inconsistent task `label` and `preLaunchTask` being used for C/C++ build tasks. [#5561](https://github.com/microsoft/vscode-cpptools/issues/5561)
|
||||
|
||||
## Version 0.28.1: May 20, 2020
|
||||
### Bug Fixes
|
||||
* Fix errors not appearing after switching between a WSL and non-WSL config on Windows. [#5474](https://github.com/microsoft/vscode-cpptools/issues/5474)
|
||||
* Fix cpptools crash when gcc is not in $PATH in a Docker container. [#5484](https://github.com/microsoft/vscode-cpptools/issues/5484)
|
||||
* Fix top IntelliSense crash regression. [#5486](https://github.com/microsoft/vscode-cpptools/issues/5486)
|
||||
* Fix squiggles appearing too soon (while typing). [#5531](https://github.com/microsoft/vscode-cpptools/issues/5531)
|
||||
|
||||
## Version 0.28.0: May 12, 2020
|
||||
### New Features
|
||||
* Add C/C++ language-aware code folding. [#407](https://github.com/microsoft/vscode-cpptools/issues/407)
|
||||
* Add GNU (and C17) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
|
||||
* Add ARM and ARM64 IntelliSense modes. [#4271](https://github.com/microsoft/vscode-cpptools/issues/4271), [PR #5250](https://github.com/microsoft/vscode-cpptools/pull/5250)
|
||||
|
||||
### Enhancements
|
||||
* Change the `gcc` problem matcher to use `autoDetect` for `fileLocation` . [#1915](https://github.com/microsoft/vscode-cpptools/issues/1915)
|
||||
* Add support for IntelliSense-based `Go to Definition` on `#include` statements. [#2564](https://github.com/microsoft/vscode-cpptools/issues/2564)
|
||||
* Support relative paths with `forcedInclude`. [#2780](https://github.com/microsoft/vscode-cpptools/issues/2780)
|
||||
* Make the `Visual Studio` formatting style respect the C++ standard (e.g. `> >` for C++03 or earlier). [#3578](https://github.com/microsoft/vscode-cpptools/issues/3578)
|
||||
* Add support for more C++20 features, such as concepts (not 100% complete yet). [#4195](https://github.com/microsoft/vscode-cpptools/issues/4195)
|
||||
* Process the "std" and bitness (-m64/-m32) compiler args. [#4726](https://github.com/microsoft/vscode-cpptools/issues/4726)
|
||||
* Switch from our custom Rename UI to VS Code's Refactor Preview. [#4990](https://github.com/microsoft/vscode-cpptools/issues/4990)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix `browse.path` not getting set correctly when `compileCommands` is used. [#1163](https://github.com/microsoft/vscode-cpptools/issues/1163)
|
||||
* Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. [#3670](https://github.com/microsoft/vscode-cpptools/issues/3670)
|
||||
* Fix temporary VSIX files not getting deleted after installation [#3923](https://github.com/microsoft/vscode-cpptools/issues/3923)
|
||||
* Process "$CPATH" on non-Windows OS's. [#3940](https://github.com/microsoft/vscode-cpptools/issues/3940)
|
||||
* Fix missing include message when a configuration provider is used. [#3971](https://github.com/microsoft/vscode-cpptools/issues/3971)
|
||||
* Change machine-dependent settings to use remote settings instead of user settings. [#4121](https://github.com/microsoft/vscode-cpptools/issues/4121)
|
||||
* Fix compiler querying for compilers that output non-English strings. [#4542](https://github.com/microsoft/vscode-cpptools/issues/4542)
|
||||
* Fix compiler querying when the '-include' argument is used. [#4655](https://github.com/microsoft/vscode-cpptools/issues/4655)
|
||||
* 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)
|
||||
* 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)
|
||||
* Fix cpptools auto-restarting after a crash. [#5303](https://github.com/microsoft/vscode-cpptools/issues/5303)
|
||||
* Fix incorrect `c_cpp_properties.json` squiggles. [#5314](https://github.com/microsoft/vscode-cpptools/issues/5314), [#5322](https://github.com/microsoft/vscode-cpptools/issues/5322)
|
||||
* Fix error `The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".` [#5388](https://github.com/microsoft/vscode-cpptools/issues/5388)
|
||||
* Fix `compilerPath` set to `""` not working. [#5392](https://github.com/microsoft/vscode-cpptools/issues/5392)
|
||||
* Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
|
||||
* Fix random crashes after a settings change.
|
||||
* Fix redundant squiggle updates.
|
||||
|
||||
## Version 0.27.1: April 28, 2020
|
||||
### Bug Fix
|
||||
* Disable Insiders `updateChannel` for 32-bit Linux and VS Code older than 1.43.0.
|
||||
|
||||
## 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).
|
||||
* 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)
|
||||
* Rename language server processes to `cpptools` and `cpptools-srv` (IntelliSense process). [#4364](https://github.com/microsoft/vscode-cpptools/issues/4364)
|
||||
* Add support for `-iframework` in `compile_commands.json`. [#4819](https://github.com/microsoft/vscode-cpptools/issues/4819)
|
||||
* Add `cpptools.setActiveConfigName` command. [#4870](https://github.com/microsoft/vscode-cpptools/issues/4870)
|
||||
* @aleksey-sergey [PR #4893](https://github.com/microsoft/vscode-cpptools/pull/4893)
|
||||
* Default to the bundled `clang-format` if its version is newer. [#4963](https://github.com/microsoft/vscode-cpptools/issues/4963)
|
||||
* Add URI's to the debug logging for messages (e.g. `fileChanged`). [#5062](https://github.com/microsoft/vscode-cpptools/issues/5062)
|
||||
* Use `lldb-mi` for macOS Mojave or newer.
|
||||
* Fix visualization of standard library types in lldb. [#1768](https://github.com/microsoft/vscode-cpptools/issues/1768)
|
||||
* Enable debugging support on macOS Catalina. [#3829](https://github.com/microsoft/vscode-cpptools/issues/3829)
|
||||
* Support '`' in addition to '-exec' for sending gdb commands [PR MIEngine#967](https://github.com/microsoft/MIEngine/pull/976)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix issue in which the user is not again prompted to use a custom configuration provider if settings files have been deleted. [#2346](https://github.com/microsoft/vscode-cpptools/issues/2346)
|
||||
* Fix "Unrecognized format of field "msg" in result" on macOS. [#2492](https://github.com/microsoft/vscode-cpptools/issues/2492)
|
||||
* Fix IntelliSense using too much CPU when switching branches. [#2806](https://github.com/microsoft/vscode-cpptools/issues/2806)
|
||||
* Fix for timeout on slow terminals while debugging. [#2889](https://github.com/microsoft/vscode-cpptools/issues/2889)
|
||||
* @Epikem [PR MIEngine#965](https://github.com/microsoft/MIEngine/pull/965)
|
||||
* Fix non-localized text. [#4481](https://github.com/microsoft/vscode-cpptools/issues/4481), [#4879](https://github.com/microsoft/vscode-cpptools/issues/4879)
|
||||
* Fix issues with paths containing certain Unicode sequences on Mac. [#4712](https://github.com/microsoft/vscode-cpptools/issues/4712)
|
||||
* Fix IntelliSense parsing bugs and crashes. [#4717](https://github.com/microsoft/vscode-cpptools/issues/4717), [#4798](https://github.com/microsoft/vscode-cpptools/issues/4798)
|
||||
* Fix configuration UI disabling `compilerPath` if no default compiler is found. [#4727](https://github.com/microsoft/vscode-cpptools/issues/4727)
|
||||
* Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. [#4889](https://github.com/microsoft/vscode-cpptools/issues/4889)
|
||||
* Fix Outline view not updating fast enough after switching branches. [#4894](https://github.com/microsoft/vscode-cpptools/issues/4894)
|
||||
* Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. [#4929](https://github.com/microsoft/vscode-cpptools/issues/4929)
|
||||
* Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. [#4989](https://github.com/microsoft/vscode-cpptools/issues/4989)
|
||||
* Fix completion results appearing after numeric literals. [#5019](https://github.com/microsoft/vscode-cpptools/issues/5019)
|
||||
* Fix issue with cancellation of a `Rename` operation causing subsequent `Find All References` and `Rename` operations to fail. [#5022](https://github.com/microsoft/vscode-cpptools/issues/5022)
|
||||
* Fix some settings not being editable in the UI. [PR #5126](https://github.com/microsoft/vscode-cpptools/pull/5126)
|
||||
* Fix `cpp_properties.json` error squiggles not appearing. [#5131](https://github.com/microsoft/vscode-cpptools/issues/5131)
|
||||
* Fix `search.exclude` not applying if there are > 1 symbols matching in the excluded file. [#5152](https://github.com/microsoft/vscode-cpptools/issues/5152)
|
||||
* Fix tag parsing not working on Windows 7 without SP1. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155)
|
||||
* Fix `updateChannel` being settable per-workspace. [PR #5185](https://github.com/microsoft/vscode-cpptools/pull/5185)
|
||||
* Fix opened files external to the workspace folder being removed from the database during loading. [#5190](https://github.com/microsoft/vscode-cpptools/issues/5190)
|
||||
* Fix invalid `c_cpp_properties.json` and configuration UI warning `Compiler path with spaces and arguments is missing double quotes`. [#5215](https://github.com/microsoft/vscode-cpptools/issues/5215)
|
||||
* Fix environment variables used for the RunInTerminal Request. [MIEngine#979](https://github.com/microsoft/MIEngine/issues/979)
|
||||
* Fix a race condition that could cause the Outline, `Find All References`, etc. to stop working.
|
||||
|
||||
## Version 0.26.3: January 22, 2020
|
||||
### Bug Fixes
|
||||
* IntelliSense bug fixes. [#2774](https://github.com/microsoft/vscode-cpptools/issues/2774)
|
||||
* Improve memory usage in projects with a large number of files. [#3326](https://github.com/microsoft/vscode-cpptools/issues/3326)
|
||||
* Fix a crash when failing to launch external executables on Linux and Mac. [#3607](https://github.com/microsoft/vscode-cpptools/issues/3607)
|
||||
* Update output of `C/C++: Log Diagnostics` to include the correct set of defines when custom configurations or compile commands are used. [#3631](https://github.com/microsoft/vscode-cpptools/issues/3631) [#4270](https://github.com/microsoft/vscode-cpptools/issues/4270)
|
||||
* 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 Insiders channel not working on remote targets. [#3874](https://github.com/microsoft/vscode-cpptools/issues/3874)
|
||||
* 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 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`.
|
||||
* @Enna1 [PR 4734](https://github.com/microsoft/vscode-cpptools/pull/4734)
|
||||
* @Enna1 [PR #4734](https://github.com/microsoft/vscode-cpptools/pull/4734)
|
||||
* Fix Insiders channel not auto-downgrading after an Insiders vsix is unpublished. [#4760](https://github.com/microsoft/vscode-cpptools/issues/4760)
|
||||
* Fix compiler querying with more than 40 `compilerArgs`. [#4791](https://github.com/microsoft/vscode-cpptools/issues/4791)
|
||||
* Fix an issue in which files may be unnecessarily removed from the tag parser database on startup, if using a custom configuration provider, resulting in a large number of files being reparsed. [#4802](https://github.com/microsoft/vscode-cpptools/issues/4802)
|
||||
* Fix an issue in which `Build and Debug Active File` would fail to detect a compiler, without a compiler present in `compilerPath`. [#4834](https://github.com/microsoft/vscode-cpptools/issues/4834)
|
||||
* Add a version check for `-break-insert` so later versions of `lldb-mi` can be used as a `midebugger`. [MIEngine#946](https://github.com/microsoft/MIEngine/issues/946)
|
||||
* Fix clang-cl detection for system includes and defines.
|
||||
* Fix a bug that could cause the browse database threads to get stuck.
|
||||
|
||||
### Enhancements
|
||||
* If clang-format is found in the environment path, that version will take precedence over the copy of clang-format bundled with the extension. [#3569](https://github.com/microsoft/vscode-cpptools/issues/3569)
|
||||
* When tag parsing is complete, and includer/includee relationships become available, header-only TU's will be replaced with TU's for candidate source files, if available.
|
||||
|
||||
## 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.
|
||||
@@ -35,7 +591,7 @@
|
||||
* 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)
|
||||
@@ -52,12 +608,12 @@
|
||||
### 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
|
||||
* Add localization support (translated text) via `Configure Display Language`. [#7](https://github.com/microsoft/vscode-cpptools/issues/7)
|
||||
* Add `Rename Symbol` with a pending rename UI. [#296](https://github.com/microsoft/vscode-cpptools/issues/296), [PR #4277](https://github.com/microsoft/vscode-cpptools/pull/4277)
|
||||
* Add `Rename Symbol` with a pending rename UI. [#296](https://github.com/microsoft/vscode-cpptools/issues/296), [PR #4277](https://github.com/microsoft/vscode-cpptools/pull/4277)
|
||||
* Add support for navigation breadcrumbs and nested symbols in the Outline view (and removed the Navigation status bar item). [#2230](https://github.com/microsoft/vscode-cpptools/issues/2230)
|
||||
* Add support for C++/CX (`/ZW`, `/ZW:nostdlib`, `/FI`, `/FU`, and `/AI` compiler arguments). [#3039](https://github.com/microsoft/vscode-cpptools/issues/3039)
|
||||
* Add a tree view UI for the other C++ references results. [#4079](https://github.com/microsoft/vscode-cpptools/issues/4079)
|
||||
@@ -142,7 +698,7 @@
|
||||
* Fix debugger can't debug file whose folder path includes a parenthesis. [#4030](https://github.com/microsoft/vscode-cpptools/issues/4030)
|
||||
* Fix duplicate content appearing after formatting of a new file. [#4091](https://github.com/microsoft/vscode-cpptools/issues/4091)
|
||||
* Fix `files.exclude` bug on Windows. [#4095](https://github.com/microsoft/vscode-cpptools/issues/4095)
|
||||
* Fix NullReferenceException when `cwd` is null. [MIEngine#911](https://github.com/microsoft/MIEngine/issues/911)
|
||||
* Fix NullReferenceException when `cwd` is null. [MIEngine#911](https://github.com/microsoft/MIEngine/issues/911)
|
||||
* Fix wrong IntelliSense for C++ types after editing within a function and after a lambda.
|
||||
|
||||
## Version 0.24.1: July 22, 2019
|
||||
@@ -152,7 +708,7 @@
|
||||
|
||||
## Version 0.24.0: July 3, 2019
|
||||
### New Features
|
||||
* Semantic colorization [Documentation](https://github.com/microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/colorization.md) [#230](https://github.com/microsoft/vscode-cpptools/issues/230)
|
||||
* Semantic colorization [Documentation](https://github.com/microsoft/vscode-cpptools/blob/main/Documentation/LanguageServer/colorization.md) [#230](https://github.com/microsoft/vscode-cpptools/issues/230)
|
||||
* Add `Rescan Workspace` command. [microsoft/vscode-cpptools-api#11](https://github.com/microsoft/vscode-cpptools-api/issues/11)
|
||||
|
||||
### Enhancements
|
||||
@@ -426,7 +982,7 @@
|
||||
* Don't show `includePath` code actions if compile commands or custom configuration providers are used. [#2334](https://github.com/Microsoft/vscode-cpptools/issues/2334)
|
||||
* Fix `C_Cpp.clang_format_path` not accepting environment variables. [#2344](https://github.com/Microsoft/vscode-cpptools/issues/2344)
|
||||
* Fix IntelliSense not working with non-ASCII characters in the WSL install path. [#2351](https://github.com/Microsoft/vscode-cpptools/issues/2351)
|
||||
* Filter out buggy IntelliSense error `"= delete" can only appear on the first declaration of a function`. [#2352](https://github.com/Microsoft/vscode-cpptools/issues/2352)
|
||||
* Filter out incorrect IntelliSense error `"= delete" can only appear on the first declaration of a function`. [#2352](https://github.com/Microsoft/vscode-cpptools/issues/2352)
|
||||
* Fix IntelliSense failing with WSL if gcc is installed bug g++ isn't. [#2360](https://github.com/Microsoft/vscode-cpptools/issues/2360)
|
||||
* Fix WSL paths starting with `/mnt/` failing to get symbols parsed. [#2361](https://github.com/Microsoft/vscode-cpptools/issues/2361)
|
||||
* Fix IntelliSense process crash when hovering over a designated initializer list with an anonymous struct. [#2370](https://github.com/Microsoft/vscode-cpptools/issues/2370)
|
||||
@@ -458,7 +1014,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
|
||||
@@ -726,8 +1282,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)
|
||||
|
||||
@@ -1,203 +0,0 @@
|
||||
MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS
|
||||
MICROSOFT C/C++ EXTENSION FOR VISUAL STUDIO CODE
|
||||
|
||||
These license terms are an agreement between Microsoft Corporation (or
|
||||
based on where you live, one of its affiliates) and you. They apply to
|
||||
the pre-release software named above. The terms also apply to any
|
||||
Microsoft services or updates for the software, except to the extent
|
||||
those have additional terms.
|
||||
|
||||
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.
|
||||
|
||||
1. INSTALLATION AND USE RIGHTS. You may only use the C/C++ Extension
|
||||
for Visual Studio Code with Visual Studio Code, Visual Studio or
|
||||
Xamarin Studio software to help you develop and test your
|
||||
applications.
|
||||
|
||||
2. TERMS FOR SPECIFIC COMPONENTS
|
||||
a. Third Party Components. The software may include third party
|
||||
components with separate legal notices or governed by other
|
||||
agreements, as may be described in the ThirdPartyNotices file(s)
|
||||
accompanying the software.
|
||||
b. Package Managers. The software may include package managers, like
|
||||
Nuget, that give you the option to download other Microsoft and third
|
||||
party software packages to use with your application. Those packages
|
||||
are under their own licenses, and not this agreement. Microsoft does
|
||||
not distribute, license or provide any warranties for any of the third
|
||||
party packages.
|
||||
|
||||
3. DATA.
|
||||
a. Data Collection. The software may collect information about you and
|
||||
your use of the software, and send that to Microsoft. Microsoft may
|
||||
use this information to provide services and improve our products and
|
||||
services. You may opt-out of many of these scenarios, but not all, as
|
||||
described in the product documentation. There are also some features
|
||||
in the software that may enable you and Microsoft to collect data from
|
||||
users of your applications. If you use these features, you must comply
|
||||
with applicable law, including providing appropriate notices to users
|
||||
of your applications together with a copy of Microsoft’s privacy
|
||||
statement. Our privacy statement is located at
|
||||
https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more
|
||||
about data collection and use in the help documentation and our
|
||||
privacy statement. Your use of the software operates as your consent
|
||||
to these practices.
|
||||
b. Processing of Personal Data. To the extent Microsoft is a processor
|
||||
or subprocessor of personal data in connection with the software,
|
||||
Microsoft makes the commitments in the European Union General Data
|
||||
Protection Regulation Terms of the Online Services Terms to all
|
||||
customers effective May 25, 2018, at
|
||||
http://go.microsoft.com/?linkid=9840733.
|
||||
|
||||
4. PRE-RELEASE SOFTWARE. This software is a pre-release version. It
|
||||
may not work the way a final version of the software will. We may
|
||||
change it for the final, commercial version. We also may not release a
|
||||
commercial version.
|
||||
|
||||
5. FEEDBACK. If you give feedback about the software to Microsoft, you
|
||||
give to Microsoft, without charge, the right to use, share and
|
||||
commercialize your feedback in any way and for any purpose. You will
|
||||
not give feedback that is subject to a license that requires Microsoft
|
||||
to license its software or documentation to third parties because we
|
||||
include your feedback in them. These rights survive this agreement.
|
||||
|
||||
6. SCOPE OF LICENSE. The software is licensed, not sold. This
|
||||
agreement only gives you some rights to use the software. Microsoft
|
||||
reserves all other rights. Unless applicable law gives you more rights
|
||||
despite this limitation, you may use the software only as expressly
|
||||
permitted in this agreement. In doing so, you must comply with any
|
||||
technical limitations in the software that only allow you to use it in
|
||||
certain ways. You may not
|
||||
* work around any technical limitations in the software;
|
||||
* reverse engineer, decompile or disassemble the software, or attempt
|
||||
to derive the source code for the software, except and to the extent
|
||||
required by third party licensing terms governing use of certain open
|
||||
source components that may be included with the software;
|
||||
* remove, minimize, block or modify any notices of Microsoft or its
|
||||
suppliers in the software;
|
||||
* use the software in any way that is against the law; or
|
||||
* share, publish, rent, or lease the software, or provide the software
|
||||
as a stand-alone hosted solution for others to use.
|
||||
|
||||
7. EXPORT RESTRICTIONS. You must comply with all domestic and
|
||||
international export laws and regulations that apply to the software,
|
||||
which include restrictions on destinations, end users and end use.
|
||||
For further information on export restrictions, visit
|
||||
(aka.ms/exporting).
|
||||
|
||||
8. SUPPORT SERVICES. Because this software is “as is,” we may not
|
||||
provide support services for it.
|
||||
|
||||
9. ENTIRE AGREEMENT. This agreement, and the terms for supplements,
|
||||
updates, Internet-based services and support services that you use,
|
||||
are the entire agreement for the software and support services.
|
||||
|
||||
10. APPLICABLE LAW. If you acquired the software in the United
|
||||
States, Washington law applies to interpretation of and claims for
|
||||
breach of this agreement, and the laws of the state where you live
|
||||
apply to all other claims. If you acquired the software in any other
|
||||
country, its laws apply.
|
||||
|
||||
11. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes
|
||||
certain legal rights. You may have other rights, including consumer
|
||||
rights, under the laws of your state or country. Separate and apart
|
||||
from your relationship with Microsoft, you may also have rights with
|
||||
respect to the party from which you acquired the software. This
|
||||
agreement does not change those other rights if the laws of your state
|
||||
or country do not permit it to do so. For example, if you acquired the
|
||||
software in one of the below regions, or mandatory country law
|
||||
applies, then the following provisions apply to you:
|
||||
|
||||
a. Australia. You have statutory guarantees under the Australian
|
||||
Consumer Law and nothing in this agreement is intended to affect those
|
||||
rights.
|
||||
|
||||
b. Canada. If you acquired this software in Canada, you may stop
|
||||
receiving updates by turning off the automatic update feature,
|
||||
disconnecting your device from the Internet (if and when you re-
|
||||
connect to the Internet, however, the software will resume checking
|
||||
for and installing updates), or uninstalling the software. The product
|
||||
documentation, if any, may also specify how to turn off updates for
|
||||
your specific device or software.
|
||||
|
||||
c. Germany and Austria.
|
||||
(i) Warranty. The properly licensed software will perform
|
||||
substantially as described in any Microsoft materials that accompany
|
||||
the software. However, Microsoft gives no contractual guarantee in
|
||||
relation to the licensed software.
|
||||
(ii) Limitation of Liability. In case of intentional conduct, gross
|
||||
negligence, claims based on the Product Liability Act, as well as, in
|
||||
case of death or personal or physical injury, Microsoft is liable
|
||||
according to the statutory law.
|
||||
Subject to the foregoing clause (ii), Microsoft will only be liable
|
||||
for slight negligence if Microsoft is in breach of such material
|
||||
contractual obligations, the fulfillment of which facilitate the due
|
||||
performance of this agreement, the breach of which would endanger the
|
||||
purpose of this agreement and the compliance with which a party may
|
||||
constantly trust in (so-called "cardinal obligations"). In other cases
|
||||
of slight negligence, Microsoft will not be liable for slight
|
||||
negligence.
|
||||
|
||||
12. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU
|
||||
BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES,
|
||||
GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL
|
||||
LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
|
||||
13. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM
|
||||
MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU
|
||||
CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
|
||||
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
|
||||
|
||||
This limitation applies to (a) anything related to the software,
|
||||
services, content (including code) on third party Internet sites, or
|
||||
third party applications; and (b) claims for breach of contract,
|
||||
breach of warranty, guarantee or condition, strict liability,
|
||||
negligence, or other tort to the extent permitted by applicable law.
|
||||
|
||||
It also applies even if Microsoft knew or should have known about the
|
||||
possibility of the damages. The above limitation or exclusion may not
|
||||
apply to you because your country may not allow the exclusion or
|
||||
limitation of incidental, consequential or other damages.
|
||||
|
||||
Please note: As this software is distributed in Quebec, Canada, some
|
||||
of the clauses in this agreement are provided below in French.
|
||||
|
||||
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines
|
||||
des clauses dans ce contrat sont fournies ci-dessous en français.
|
||||
|
||||
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert
|
||||
« tel quel ». Toute utilisation de ce logiciel est à votre seule
|
||||
risque et péril. Microsoft n’accorde aucune autre garantie
|
||||
expresse. Vous pouvez bénéficier de droits additionnels en vertu du
|
||||
droit local sur la protection des consommateurs, que ce contrat ne
|
||||
peut modifier. La ou elles sont permises par le droit locale, les
|
||||
garanties implicites de qualité marchande, d’adéquation à un
|
||||
usage particulier et d’absence de contrefaçon sont exclues.
|
||||
|
||||
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ
|
||||
POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses
|
||||
fournisseurs une indemnisation en cas de dommages directs uniquement
|
||||
à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune
|
||||
indemnisation pour les autres dommages, y compris les dommages
|
||||
spéciaux, indirects ou accessoires et pertes de bénéfices.
|
||||
|
||||
Cette limitation concerne:
|
||||
|
||||
* tout ce qui est relié au logiciel, aux services ou au contenu (y
|
||||
compris le code) figurant sur des sites Internet tiers ou dans des
|
||||
programmes tiers ; et
|
||||
* les réclamations au titre de violation de contrat ou de garantie,
|
||||
ou au titre de responsabilité stricte, de négligence ou d’une
|
||||
autre faute dans la limite autorisée par la loi en vigueur.
|
||||
|
||||
Elle s’applique également, même si Microsoft connaissait ou
|
||||
devrait connaître l’éventualité d’un tel dommage. Si votre pays
|
||||
n’autorise pas l’exclusion ou la limitation de responsabilité
|
||||
pour les dommages indirects, accessoires ou de quelque nature que ce
|
||||
soit, il se peut que la limitation ou l’exclusion ci-dessus ne
|
||||
s’appliquera pas à votre égard.
|
||||
|
||||
EFFET JURIDIQUE. Le présent contrat décrit certains droits
|
||||
juridiques. Vous pourriez avoir d’autres droits prévus par les lois
|
||||
de votre pays. Le présent contrat ne modifie pas les droits que vous
|
||||
confèrent les lois de votre pays si celles-ci ne le permettent pas.
|
||||
+16
-9
@@ -1,17 +1,20 @@
|
||||
# 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/master/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) | [Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
|
||||
|
||||
[](https://aka.ms/vsls)
|
||||
|
||||
This preview release of 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 features such as IntelliSense and debugging.
|
||||
|
||||
## Overview and getting started
|
||||
## Overview and tutorials
|
||||
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
|
||||
* [Get Started with C++ and Windows Subsystem for Linux (WSL)](https://code.visualstudio.com/docs/cpp/config-wsl)
|
||||
* [Get Started with C++ and Mingw-w64](https://code.visualstudio.com/docs/cpp/config-mingw)
|
||||
* [Get Started with C++ and Clang/LLVM on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
|
||||
* [Get Started with C++ and Microsoft C++ compiler (MSVC)](https://code.visualstudio.com/docs/cpp/config-msvc)
|
||||
|
||||
C/C++ extension tutorials per compiler and platform
|
||||
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
|
||||
* [GCC and Mingw-w64 on Windows](https://code.visualstudio.com/docs/cpp/config-mingw)
|
||||
* [GCC on Windows Subsystem for Linux (WSL)](https://code.visualstudio.com/docs/cpp/config-wsl)
|
||||
* [GCC on Linux](https://code.visualstudio.com/docs/cpp/config-linux)
|
||||
* [Clang on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
|
||||
|
||||
## Quick links
|
||||
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
|
||||
@@ -49,9 +52,13 @@ The extension has platform-specific binary dependencies, therefore installation
|
||||
Package | Platform
|
||||
:--- | :---
|
||||
`cpptools-linux.vsix` | Linux 64-bit
|
||||
`cpptools-linux32.vsix` | Linux 32-bit
|
||||
`cpptools-osx.vsix` | macOS
|
||||
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
|
||||
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
|
||||
`cpptools-osx.vsix` | macOS 64-bit
|
||||
`cpptools-osx-arm64.vsix` | macOS ARM64
|
||||
`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
|
||||
|
||||
|
||||
+804
-350
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"defaults": [
|
||||
"cpfe",
|
||||
"--wchar_t_keyword",
|
||||
"--no_warnings",
|
||||
"--rtti",
|
||||
"--edge",
|
||||
"--exceptions",
|
||||
"--error_limit",
|
||||
"25000",
|
||||
"-D_EDG_COMPILER",
|
||||
"-D_USE_DECLSPECS_FOR_SAL=1"
|
||||
],
|
||||
"source_file_format": "-f %s",
|
||||
"expressions": [
|
||||
{
|
||||
"match": "^/I(.*)",
|
||||
"replace": "-I\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/D(.*)",
|
||||
"replace": "-D$1"
|
||||
},
|
||||
{
|
||||
"match": "^/AI(.*)",
|
||||
"replace": "--using_directory\n$1"
|
||||
},
|
||||
{
|
||||
"match": "^/dE--(.*)",
|
||||
"replace": "--$1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__arm__=1",
|
||||
"-D__ARM_32BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__aarch64__=1",
|
||||
"-D__ARM_64BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__x86_64=1",
|
||||
"-D__x86_64__=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__i386=1",
|
||||
"-D__i386__=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__arm__=1",
|
||||
"-D__ARM_32BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__aarch64__=1",
|
||||
"-D__ARM_64BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__x86_64=1",
|
||||
"-D__x86_64__=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
"-D__i386=1",
|
||||
"-D__i386__=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__arm__=1",
|
||||
"-D__ARM_32BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__aarch64__=1",
|
||||
"-D__ARM_64BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__x86_64=1",
|
||||
"-D__x86_64__=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__i386=1",
|
||||
"-D__i386__=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__arm__=1",
|
||||
"-D__ARM_32BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__aarch64__=1",
|
||||
"-D__ARM_64BIT_STATE=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__x86_64=1",
|
||||
"-D__x86_64__=1",
|
||||
"-D__PTRDIFF_TYPE__=long int",
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__i386=1",
|
||||
"-D__i386__=1",
|
||||
"-D__PTRDIFF_TYPE__=int",
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -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.",
|
||||
@@ -171,7 +171,7 @@
|
||||
"Očekávala se deklarace.",
|
||||
"Ukazatel ukazuje mimo podkladový objekt.",
|
||||
"neplatný typ konverze",
|
||||
"konflikt externího/interního propojení s předchozí deklarací",
|
||||
"konflikt externího/interního propojení s předchozí deklarací %p",
|
||||
"Hodnota s plovoucí desetinnou čárkou se nevejde do požadovaného integrálního typu.",
|
||||
"Výraz nemá žádný účinek.",
|
||||
"Dolní index je mimo rozsah.",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"Použije se víc než jedna funkce pro převod z %t na předdefinovaný typ:",
|
||||
"Konstanta %n",
|
||||
"Odkaz %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"předdefinovaný operátor %sq",
|
||||
"%no (zděděná dvojznačnost)",
|
||||
"%nod, nejednoznačné kvůli dědičnosti",
|
||||
"Adresa konstruktoru nebo destruktoru se pravděpodobně nepřevzala.",
|
||||
null,
|
||||
"Pro původní hodnotu odkazu na nekonstantní typ se použilo temporary (anachronizmus).",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"Proměnné atributy vyskytující se po inicializátoru v závorkách se ignorují.",
|
||||
"Výsledek tohoto přetypování se nedá použít jako l-hodnota.",
|
||||
"negace hodnoty s pevnou desetinnou čárkou bez znaménka",
|
||||
"Tento operátor není v tuto chvíli povolený, použijte závorky.",
|
||||
null,
|
||||
null,
|
||||
"Názvy registru se můžou použít jenom pro proměnné registru.",
|
||||
"Proměnné pojmenovaného registru nemůžou být typu void.",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"neplatná hodnota cannot-redefine",
|
||||
"duplicitní modifikátor funkce",
|
||||
"neplatný znak pro literál char16_t",
|
||||
"__LPREFIX se nedá použít u literálů char8_t, char16_t nebo char32_t.",
|
||||
null,
|
||||
"Nerozpoznaná konvence volání %s, musí být jednou z:",
|
||||
null,
|
||||
null,
|
||||
@@ -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í.",
|
||||
@@ -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.",
|
||||
@@ -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í.",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"Před použitím std::initializer_list je potřeba zadat #include <seznam_inicializátorů>, včetně implicitního použití.",
|
||||
"Klíčové slovo inline se u deklarace aliasu oboru názvů nedá použít.",
|
||||
"Předchozí deklarace %n nebyla deklarovaná jako inline.",
|
||||
"Změna deklarace modifikátoru inline %n musí být deklarovaná jako inline.",
|
||||
"%n se dříve deklarovalo jako vložené.",
|
||||
"Prvním argumentem musí být celočíselná konstanta.",
|
||||
"Specifikátor se nedá použít s neagregačním typem %t.",
|
||||
"Specifikátor člena anonymního sjednocení se dá zadat jenom uvnitř závorek, které odpovídají tomuto anonymnímu sjednocení.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"Konstruktor constexpr musí inicializovat přímou základní třídu %t.",
|
||||
"Je pravděpodobné, že vytvoření objektu std::initializer_list v inicializátoru pole nebude fungovat podle očekávání, protože podkladové pole se na konci úplného výrazu zničí.",
|
||||
"V konstantním výrazu se this nedá použít.",
|
||||
"Prázdný inicializátor není pro tento typ union platný. (Je nejednoznačné, který člen by se měl inicializovat.)",
|
||||
null,
|
||||
"U explicitní direktivy vytváření instancí není povolený modifikátor constexpr.",
|
||||
"Kvůli cyklické závislosti se nedá určit specifikace výjimky výchozího konstruktoru.",
|
||||
"%p definované anonymním sjednocením",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"neplatný kvalifikátor pro %t (odvozená třída tady není povolená)",
|
||||
"Atribut always_inline se u funkcí, které nejsou vložené, ignoruje.",
|
||||
"Dědící konstruktory musí být zděděné od přímé základní třídy.",
|
||||
"%np už zdědil od %t.",
|
||||
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í.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"Odstraněné funkce jsou funkcí C++11.",
|
||||
"Funkce nastavené na výchozí hodnotu jsou funkcí C++11.",
|
||||
"Třída úložiště není u explicitní specializace povolená.",
|
||||
"%t není třída nebo vymezený výčet.",
|
||||
null,
|
||||
"Nevymezený výčet musí být neprůhledný, aby mohl být specializovaný.",
|
||||
"Deklarace šablony výčtu musí odkazovat na dříve deklarovaný člen šablony třídy.",
|
||||
"Očekává se vektorový operand.",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"Proměnná nemůže mít nekompletní typ %t.",
|
||||
"Přístup k neinicializovanému podobjektu (%n)",
|
||||
"Přístup k neinicializovanému podobjektu (základní třída %t)",
|
||||
"Volání prázdného desktruktoru",
|
||||
"Volání pseudodestruktoru v konstantním výrazu se nepovoluje.",
|
||||
"Pokus o změnu úložiště",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"typ elementu vektoru musí být integrál, výčet nebo reálné číslo s plovoucí desetinnou čárkou",
|
||||
"předdefinovaná funkce není dostupná, protože 128bitová celá čísla nejsou podporovaná",
|
||||
"předdefinovaná funkce není dostupná, protože vektorové typy nejsou podporované",
|
||||
"dvě po sobě jdoucí levé hranaté závorky můžou uvozovat jenom seznam atributů",
|
||||
"Dvěma levými hranatými závorkami za sebou vždy začíná seznam atributů, ale tady se seznam atributů nemůže nacházet.",
|
||||
"nerozpoznaný atribut target znemožňuje, aby tuto rutinu použila rutina překladače",
|
||||
"%t není vektorový typ",
|
||||
"vektorové typy %t1 a %t2 musí mít stejnou délku",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"inicializátor výchozího členu není v hodnotové třídě povolený",
|
||||
"--implicit_noexcept vyžaduje režim, který aktivuje operátor noexcept.",
|
||||
"Nejde složit operaci, která zahrnuje virtuální základní třídu (%t).",
|
||||
null,
|
||||
"Inicializace není konstantní.",
|
||||
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
|
||||
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
|
||||
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
|
||||
"Atribut nodiscard neplatí pro konstruktory, destruktory nebo rutiny s návratovým typem void.",
|
||||
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
|
||||
"Atribut fallthrough platí jenom pro příkazy null.",
|
||||
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
|
||||
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include se nemůže vyskytovat mimo #if.",
|
||||
"Nešlo přidat základní třídu CComCoClass.",
|
||||
"nejde o řetězec zakončený hodnotou null.",
|
||||
"neskalární typ %t nelze použít ve volání prázdného destruktoru.",
|
||||
"Neskalární typ %t se nedá použít ve volání pseudodestruktoru.",
|
||||
"Adresa weak %n není konstantní.",
|
||||
"Příliš mnoho rekurzivních náhrad signatur šablony funkce",
|
||||
"Neplatný specifikátor pro deklaraci strukturované vazby",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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í.",
|
||||
"Vnořené obory názvů ve stylu C++17 jsou v tomto režimu nestandardní.",
|
||||
"V deklaraci nemůžou být současně constexpr i consteval.",
|
||||
"V deklaraci se může vyskytovat jen jedna z těchto možností: constexpr, consteval a constinit",
|
||||
"funkce nemůže být v tomto režimu zároveň consteval a virtuální",
|
||||
"U explicitní direktivy vytváření instancí není povolený modifikátor consteval.",
|
||||
"Modifikátor consteval tady není platný.",
|
||||
@@ -3166,17 +3166,17 @@
|
||||
"Atribut internal_linkage se nevyskytuje v předchozí deklaraci.",
|
||||
"Pro %n se nenašel žádný vhodný kandidát pro dedukci argumentu šablony.",
|
||||
"Volání plně kvalifikovaného konstruktoru se nepovoluje.",
|
||||
"Operátor porovnání se dá nastavit na výchozí hodnotu jen v definici třídy.",
|
||||
"Operátor porovnání nastavený jako výchozí musí být členem třídy, na kterou se vztahuje, nebo pro ni musí být nastavený jako friend.",
|
||||
"Chybný typ %t pro parametr výchozího operátoru porovnání (musí to být odkaz na const X, kde X je uzavírající typ třídy)",
|
||||
"Návratový typ výchozího operátoru porovnání musí být bool.",
|
||||
"Výchozí operátor porovnání členů musí být const.",
|
||||
"V této třídě je více než jeden definovaný výchozí třícestný operátor.",
|
||||
null,
|
||||
"Typ příslibu korutiny %t nemůže mít nastavené return_void a return_value zároveň.",
|
||||
"return_value deklarované v %p",
|
||||
"return_void deklarovalo %p.",
|
||||
"Chybí příkaz co_return, přestože %t nemá na konci %n žádné return_void.",
|
||||
"Pro přidělení stavu korutiny se nenašla žádná varianta nothrow globálního operator new.",
|
||||
"Pro uvolnění stavu korutiny se nenašel žádný vhodný operator delete.",
|
||||
"Pro zrušení přidělení stavu korutiny se nenašel žádný vhodný operator delete.",
|
||||
"Funkce constexpr nemůže být korutina.",
|
||||
"Operand tohoto výrazu %s se překládá na typ %t, který není třída.",
|
||||
"Výraz co_await se ve statickém inicializátoru nepovoluje.",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"Atribut ext_vector_type se vztahuje pouze na celočíselné typy (integer) nebo s plovoucí desetinnou čárkou (floating-point).",
|
||||
"Toto makro testu funkcí je ignorováno (a vrátí hodnotu 0) v aktuálním režimu kompilace.",
|
||||
"Nejde vyhodnotit agregační inicializátor s více elementy pro sjednocení.",
|
||||
"%nd vybraný pro přepis operátoru nevrací typ bool.",
|
||||
"new-expression volající funkci přidělení specifickou pro třídu se nedá vyhodnotit jako konstanta",
|
||||
"výraz s umístěním new se nedá vyhodnotit podle konstanty",
|
||||
"odstranění přes ukazatel na podobjekt vyžaduje virtuální destruktor",
|
||||
"%npTd s obrácenými argumenty",
|
||||
"operand __INTADDR__ musí být odsazený od nulového ukazatele",
|
||||
"_Obecný konstruktor odpovídá více typům",
|
||||
"druhá shoda je %t",
|
||||
"Atribut availability, který se tady používá, se ignoruje.",
|
||||
"Výraz inicializátoru podle C++20 v příkazu for založeném na rozsahu není v tomto režimu standardní.",
|
||||
"co_await se může vztahovat jen na příkaz for založený na rozsahu.",
|
||||
"Typ rozsahu ve smyčce for založené na rozsahu se nedá vyvodit.",
|
||||
"Vložené proměnné jsou funkce standardu C++17.",
|
||||
"Destrukční operátor delete vyžaduje jako první parametr %t.",
|
||||
"Destrukční operátor delete nemůže mít parametry jiné než std::size_t a std::align_val_t.",
|
||||
"možnosti volné (relaxed) abstraktní třídy se dají použít jenom při kompilaci C++",
|
||||
"Neplatný začátek výrazu v klauzuli requires",
|
||||
"Výraz cast v klauzuli requires musí být v uvozovkách.",
|
||||
"Tento operátor se nemůže v klauzuli requires vyskytovat na nejvyšší úrovni (bez závorek).",
|
||||
"Atomické omezení musí mít logický typ.",
|
||||
"Nepodařilo se nahradit atomické omezení.",
|
||||
"Atomické omezení není konstanta.",
|
||||
"Hodnota atomického omezení se vyhodnotí jako false.",
|
||||
"Omezení šablony není splněné.",
|
||||
"V tomto oboru se definice konceptu nemůže vyskytovat.",
|
||||
"Neplatná změna deklarace %nd",
|
||||
"Nepovedlo se nahradit argumenty %T pro concept-id.",
|
||||
"Pro argumenty %T je koncept false.",
|
||||
"Klauzule requires tady není povolena (nejedná se o funkci se šablonami).",
|
||||
"Šablona konceptu",
|
||||
"Klauzule requires není kompatibilní s %nfd.",
|
||||
"Očekával se atribut.",
|
||||
null,
|
||||
"Očekával se název typu.",
|
||||
"Parametr výpustky není ve výrazu requires povolený.",
|
||||
"Nepojmenovaný parametr ve výrazu requires nemá žádný efekt.",
|
||||
"Očekával se název konceptu.",
|
||||
"Výsledkem volání %s v konstantním výrazu je vždy hodnota true.",
|
||||
"Výsledkem volání %s v kontextu consteval je vždy hodnota true.",
|
||||
"Výsledkem volání %s ve funkci, která není constexpr, je vždy hodnota false.",
|
||||
"Omezení typu pro %t se nezdařilo.",
|
||||
"Možnost export se nedá použít v režimech, kde jsou povolené moduly C++.",
|
||||
"Deklaraci fragmentu globálního modulu musí předcházet nějaká jiná deklarace.",
|
||||
"Deklaraci modulu může předcházet pouze fragment globálního modulu.",
|
||||
"Fragmentu privátního modulu musí předcházet deklarace modulu.",
|
||||
"Fragment modulu %s nelze exportovat.",
|
||||
"Nelze deklarovat více než jeden modul.",
|
||||
"Nelze deklarovat více než jeden fragment modulu %s.",
|
||||
"Modul musí být deklarovaný s názvem, který není prázdný.",
|
||||
"%sq není importovatelné záhlaví.",
|
||||
"Nelze importovat modul bez názvu.",
|
||||
"Modul nemůže mít závislost rozhraní sám na sebe.",
|
||||
"Modul %sq je už importovaný.",
|
||||
"Soubor modulu",
|
||||
"Nepovedlo se najít soubor modulu %sq pro import.",
|
||||
"Soubor modulu %sq se nepovedlo naimportovat."
|
||||
"Nepodařilo se najít soubor modulu pro modul %sq.",
|
||||
"Soubor modulu %sq se nepovedlo naimportovat.",
|
||||
"Očekávalo se %s1, ale našlo se %s2.",
|
||||
"Při otevírání souboru modulu %sq",
|
||||
"Neznámý název oddílu %sq",
|
||||
"neznámý soubor modulu",
|
||||
"soubor modulu s importovatelnou hlavičkou",
|
||||
"soubor modulu EDG",
|
||||
"soubor modulu IFC",
|
||||
"neočekávaný soubor modulu",
|
||||
"Typ druhého operandu %t2 musí mít stejnou velikost jako %t1.",
|
||||
"Typ musí být možné triviálně kopírovat.",
|
||||
"Typ %t se pro vyhodnocování constexpr v __builtin_bit_cast v současné době nepodporuje.",
|
||||
"Typy tříd s bitovými poli %t se pro vyhodnocování constexpr v __builtin_bit_cast v současné době nepodporuje.",
|
||||
"Nestatický datový člen typu odkazu %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"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.",
|
||||
"%n musí vracet void.",
|
||||
"Neplatný začátek deklarace členu",
|
||||
"Očekává se klíčové slovo auto.",
|
||||
"Tento operátor se na tomto místě nepodporuje. Uzavřete předchozí výraz new do závorek.",
|
||||
"Neplatné použití konceptu",
|
||||
"Výchozí operátor porovnání členů nemůže být kvalifikovaný jako &&.",
|
||||
"Výchozí funkce pro porovnání constexpr volá funkci %nd, která constexpr není.",
|
||||
"Porovnání paměti constexpr se podporuje jen pro celé číslo nebo objekty polí celých čísel.",
|
||||
"Šablona konceptu nemůže mít přidružená omezení.",
|
||||
"export se nepovoluje.",
|
||||
"Export jednotlivých členů třídy se nepodporuje.",
|
||||
"Exportovaná deklarace musí zavést název.",
|
||||
"Deklarace exportu nemůže obsahovat deklaraci exportu (předchozí deklarace %p).",
|
||||
"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í.",
|
||||
"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.",
|
||||
"Proměnná constinit vyžaduje dynamickou inicializaci.",
|
||||
"Proměnná se už dříve deklarovala s constinit %p.",
|
||||
"Použití deklarátoru funkce, která není prototyp",
|
||||
"Argument nemůže mít typ kvalifikovaný jako const.",
|
||||
"Ukazatel na člen neúplného typu %t se nepovoluje.",
|
||||
"Rozšíření balíčku v init-capture se v tomto režimu nepodporuje.",
|
||||
"Rozšíření balíčku v init-capture je funkce jazyka C++20.",
|
||||
"Operátor porovnání v definici třídy nastavený jako výchozí musí být první deklarace daného operátoru porovnání (%nd).",
|
||||
"Rozšíření balíčku v init-capture se dá použít jen ve variadické šabloně.",
|
||||
"Omezení typu používá %nd, které není konceptem typu (tj. šablona konceptu, jejíž první parametr je parametr typu).",
|
||||
"Odvozený typ zástupného symbolu %t nesplnil omezení typu.",
|
||||
"Výchozí konstruktor pro %t není oprávněný.",
|
||||
"Destruktor pro %t je nejednoznačný kvůli neuspořádaným omezením.",
|
||||
"Destruktor pro %t není oprávněný kvůli neúspěšným omezením.",
|
||||
"Kandidát nejednoznačného destruktoru",
|
||||
"Virtuální funkce nemůže mít na konci klauzuli requires.",
|
||||
"%nd nesplňuje svá omezení.",
|
||||
"Výsledek kvalifikátoru decltype %t není třída ani výčet.",
|
||||
"Porovnání je ve standardním C++20 nejednoznačné, protože implikovaný operátor porovnání se zaměněnými parametry je stejně dobrá shoda -- příčinou je obvykle chybějící kvalifikátor const u operátoru porovnání. Podívejte se na %nod.",
|
||||
"Neplatné concept-id",
|
||||
"Nepovedlo se nahradit argumenty %T pro klauzuli requires.",
|
||||
"Omezení pro %nd se nesplnila.",
|
||||
"typ proměnné %t ve funkci constexpr má virtuální základní třídy",
|
||||
"konstantní výraz nemůže přidělit virtuální základní podobjekt (pro typ %t)",
|
||||
"parametr šablony typu třídy musí být typu strukturální třídy",
|
||||
"podpora pro literály UTF-8 vyžaduje podporu literálů u-literal.",
|
||||
"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é",
|
||||
"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",
|
||||
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)",
|
||||
"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í výčtový typ.",
|
||||
"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."
|
||||
]
|
||||
@@ -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.",
|
||||
@@ -171,7 +171,7 @@
|
||||
"Es wurde eine Deklaration erwartet.",
|
||||
"Der Zeiger zeigt auf eine Stelle außerhalb des zugrunde liegenden Objekts.",
|
||||
"Ungültige Typkonvertierung.",
|
||||
"Konflikt für externe/interne Bindung mit vorheriger Deklaration.",
|
||||
"Konflikt für externe/interne Bindung mit vorheriger Deklaration %p",
|
||||
"Der Gleitkommawert passt nicht in den erforderlichen integralen Typ.",
|
||||
"Der Ausdruck hat keinen Effekt.",
|
||||
"Index außerhalb des definierten Bereichs.",
|
||||
@@ -311,7 +311,7 @@
|
||||
"Mehrere Instanzen des Konstruktors \"%no\" stimmen mit der Argumentliste überein:",
|
||||
"Das Standardargument vom Typ \"%t1\" ist mit dem Parameter vom Typ \"%t2\" inkompatibel.",
|
||||
"Funktionen, die sich nur durch den Rückgabetyp unterscheiden, können nicht überladen werden.",
|
||||
"Es ist keine passende benutzerdefinierte Konvertierung von \" %t1\" in \"%t2\" vorhanden.",
|
||||
"Es ist keine passende benutzerdefinierte Konvertierung von %t1 in %t2 vorhanden.",
|
||||
null,
|
||||
"Nur nicht statische Memberfunktionen dürfen virtuell sein.",
|
||||
"Das Objekt weist Typqualifizierer auf, die nicht mit der Memberfunktion kompatibel sind.",
|
||||
@@ -321,7 +321,7 @@
|
||||
"Der reine Spezifizierer (\"= 0\") ist nur in virtuellen Funktionen zulässig.",
|
||||
"Falsch formatierter reiner Spezifizierer (nur \"= 0\" ist zulässig).",
|
||||
"Ein Datenmemberinitialisierer ist nicht zulässig.",
|
||||
"Ein Objekt vom Typ \"%t\" einer abstrakten Klasse ist nicht zulässig:",
|
||||
"Ein Objekt vom Typ %t einer abstrakten Klasse ist nicht zulässig:",
|
||||
"Eine Funktion, die die abstrakte Klasse \"%t\" zurückgibt, ist nicht zulässig:",
|
||||
"Doppelte Frienddeklaration.",
|
||||
"Der Inlinespezifizierer ist nur in Funktionsdeklarationen zulässig.",
|
||||
@@ -352,8 +352,8 @@
|
||||
"Mehr als ein %sq-Operator stimmt mit diesen Operanden überein:",
|
||||
"Der erste Parameter der Speicherbelegungsfunktion muss vom Typ \"size_t\" sein.",
|
||||
"Die Speicherbelegungsfunktion erfordert den Rückgabetyp \"void *\".",
|
||||
"Die Funktion zum Aufheben der Zuordnung erfordert den Rückgabetyp \"void\".",
|
||||
"Der erste Parameter der Funktion zum Aufheben der Zuordnung muss vom Typ \"void *\" sein.",
|
||||
"Die Funktion zur Belegungsfreigabe erfordert den Rückgabetyp \"void\".",
|
||||
"Der erste Parameter der Funktion zur Belegungsfreigabe muss vom Typ \"void *\" sein.",
|
||||
null,
|
||||
"Der Typ muss ein Objekttyp sein.",
|
||||
"Die Basisklasse \"%t\" wurde bereits initialisiert.",
|
||||
@@ -388,11 +388,11 @@
|
||||
"Keine Instanz von \"%n\" stimmt mit dem erforderlichen Typ überein.",
|
||||
"delete array size-Ausdruck wurde verwendet (Anachronismus)",
|
||||
null,
|
||||
"Eine Umwandlung in die abstrakte Klasse \"%t\" ist nicht zulässig:",
|
||||
"Eine Umwandlung in die abstrakte Klasse %t ist nicht zulässig:",
|
||||
"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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"Es gilt mehr als eine Konvertierungsfunktion von \"%t\" in einen integrierten Typ:",
|
||||
"Konstante \"%n\"",
|
||||
"Verweis \"%n\"",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"Integrierter %sq-Operator",
|
||||
"%no (mehrdeutig durch Vererbung)",
|
||||
"%nod, mehrdeutig durch Vererbung",
|
||||
"Die Adresse eines Konstruktors oder Destruktors darf nicht verwendet werden.",
|
||||
null,
|
||||
"Es wurde ein temporärer Wert für den Anfangswert des Verweises auf die Nicht-Konstante verwendet (Anachronismus).",
|
||||
@@ -602,8 +602,8 @@
|
||||
"Der Strict-Modus ist inkompatibel mit zulassenden Anachronismen.",
|
||||
"Ein throw-Ausdruck darf nicht den Typ \"void\" aufweisen.",
|
||||
"Der lokale Instanziierungsmodus ist inkompatibel mit der automatischen Instanziierung.",
|
||||
"Ein Parameter vom Typ \"%t\" einer abstrakten Klasse ist nicht zulässig:",
|
||||
"Ein Array einer abstrakten Klasse \"%t\" ist nicht zulässig:",
|
||||
"Ein Parameter vom Typ %t einer abstrakten Klasse ist nicht zulässig:",
|
||||
"Ein Array einer abstrakten Klasse %t ist nicht zulässig:",
|
||||
"Der Gleitkommawert-Vorlagenparameter entspricht nicht dem Standard.",
|
||||
"Dieses Pragma muss unmittelbar vor einer Deklaration stehen.",
|
||||
"Dieses Pragma muss unmittelbar vor einer Anweisung stehen.",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n ist keine Klassenvorlage.",
|
||||
"Ein Array mit unvollständigem Elementtyp entspricht nicht dem Standard.",
|
||||
"Ein Speicherbelegungsoperator darf nicht in einem Namespace deklariert werden.",
|
||||
"Ein Operator zum Aufheben der Zuordnung darf nicht in einem Namespace deklariert werden.",
|
||||
"Ein Operator zur Belegungsfreigabe darf nicht in einem Namespace deklariert werden.",
|
||||
"\"%np1\" steht mit der using-Deklaration von \"%np2\" in Konflikt.",
|
||||
"Die using-Deklaration von \"%np1\" steht mit \"%npd2\" in Konflikt.",
|
||||
"Die namespaces-Option kann nur beim Kompilieren von C++ verwendet werden.",
|
||||
@@ -857,7 +857,7 @@
|
||||
"Der Rückgabetyp ist nicht identisch mit dem Rückgabetyp %t der überschriebenen virtuellen Funktion %no",
|
||||
"Die guiding_decls-Option kann nur beim Kompilieren von C++ verwendet werden.",
|
||||
"Eine teilweise Spezialisierung einer Klassenvorlage muss im Namespace deklariert sein, in dem diese Member ist.",
|
||||
"\"%n\" ist keine reine virtuelle Funktion.",
|
||||
"%n ist eine reine virtuelle Funktion",
|
||||
"\"%n\" (rein virtuell) hat keinen Überschreiber.",
|
||||
"__declspec-Attribute werden ignoriert.",
|
||||
"Ungültiges Zeichen in Eingabedatei.",
|
||||
@@ -986,7 +986,7 @@
|
||||
"Für den new- und den delete-Operator kann keine interne Bindung angegeben werden.",
|
||||
"Die Speicherklasse \"mutable\" ist für anonyme Unions nicht zulässig.",
|
||||
"Ungültige vorkompilierte Headerdatei.",
|
||||
"Der abstrakte Klassentyp \"%t\" ist nicht als Catch-Typ zulässig:",
|
||||
"Der abstrakte Klassentyp %t ist nicht als Catch-Typ zulässig:",
|
||||
"Ein qualifizierter Funktionstyp kann nicht zum Deklarieren einer Nichtmemberfunktion oder einer statischen Memberfunktion verwendet werden.",
|
||||
"Ein qualifizierter Funktionstyp kann nicht zum Deklarieren eines Parameters verwendet werden.",
|
||||
"Es kann kein Zeiger oder Verweis auf einen qualifizierten Funktionstyp erstellt werden.",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"Variablenattribute nach einem in Klammern gesetzten Initialisierer werden ignoriert.",
|
||||
"Das Ergebnis dieser Umwandlung kann nicht als lvalue verwendet werden.",
|
||||
"Negation eines nicht signierten Festkommawerts.",
|
||||
"Dieser Operator ist an dieser Stelle nicht zulässig; verwenden Sie Klammern.",
|
||||
null,
|
||||
null,
|
||||
"Registrierungsnamen können nur für Registrierungswerte verwendet werden.",
|
||||
"Variablen mit benannter Registrierung können nicht den Typ \"void\" aufweisen.",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"Ungültiger Wert für Neudefinitionsfehler.",
|
||||
"Doppelter Funktionsmodifizierer.",
|
||||
"Ungültiges Zeichen für char16_t-Literal.",
|
||||
"__LPREFIX kann nicht auf char8_t-, char16_t- oder char32_t-Literale angewendet werden.",
|
||||
null,
|
||||
"Unbekannte Aufrufkonvention \"%s\", muss eine der folgenden Optionen sein:",
|
||||
null,
|
||||
null,
|
||||
@@ -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.",
|
||||
@@ -2065,7 +2065,7 @@
|
||||
"ein cli::pin_ptr-Rückgabetyp ist nicht zulässig",
|
||||
"Attribut %sq wird nur im %[C++/CLI]-Modus angewendet",
|
||||
"ein einfacher (Nicht-Nachverfolgungs-)Verweis kann nicht an eine Entität im verwalteten Heap gebunden werden",
|
||||
"übertragbare Assembly",
|
||||
"portierbare Assembly",
|
||||
"'%s' nicht von Standardassemblys geladen",
|
||||
"die Listeninitialisierungssyntax ist eine C++11-Funktion",
|
||||
"der Operand von sizeof kann kein Verweisklassentyp oder Schnittstellenklassentyp sein",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"\"#include <initializer_list>\" ist vor der Verwendung von \"std::initializer_list\" erforderlich, einschließlich einer impliziten Verwendung.",
|
||||
"Das 'inline'-Schlüsselwort darf nicht in einer Namespacealiasdeklaration verwendet werden.",
|
||||
"Die vorherige Deklaration von \"%n\" wurde nicht inline deklariert.",
|
||||
"Eine Neudeklaration von \"%n\" (inline) muss inline deklariert werden.",
|
||||
"%n wurde zuvor als Inline deklariert.",
|
||||
"Das erste Argument muss eine ganzzahlige Konstante sein.",
|
||||
"Ein Kennzeichner darf nicht mit einem Nicht-Aggregattyp %t verwendet werden.",
|
||||
"Ein Kennzeichner für einen anonymen Union-Member darf nur innerhalb geschweifter Klammern auftreten, die zu dieser anonymen Union gehören.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"Der constexpr-Konstruktor muss die direkte Basisklasse %t initialisieren.",
|
||||
"Das Erstellen eines \"std::initializer_list\"-Objekts in einem Feldinitialisierer funktioniert wahrscheinlich nicht wie erwartet, da das zugrunde liegende Array am Ende des vollständigen Ausdrucks zerstört wird.",
|
||||
"'this' kann nicht in einem konstanten Ausdruck verwendet werden.",
|
||||
"Ein leerer Initialisierer ist für diesen Union-Typ nicht gültig (der zu initialisierende Member ist nicht eindeutig).",
|
||||
null,
|
||||
"'constexpr' ist in einer expliziten Instanziierungsdirektive nicht zulässig.",
|
||||
"Die Ausnahmespezifikation des Standardkonstruktors kann aufgrund einer Ringabhängigkeit nicht bestimmt werden.",
|
||||
"Anonyme Union definiert als %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"Ungültiger Qualifizierer für \"%t\" (eine abgeleitete Klasse ist an dieser Stelle nicht zulässig).",
|
||||
"Das Attribut \"always_inline\" wird für Nicht-Inlinefunktionen ignoriert.",
|
||||
"Erbende Konstruktoren müssen von einer direkten Basisklasse geerbt werden.",
|
||||
"\"%np\" hat bereits von \"%t\" geerbt.",
|
||||
null,
|
||||
"Bezeichnung erwartet",
|
||||
"Operandennummer nach \"%%l\" erwartet",
|
||||
"Operandennummer für '%%l' verweist nicht auf ein gültiges Bezeichnungsargument.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"Gelöschte Funktionen sind eine C++11-Funktion.",
|
||||
"Standardfunktionen sind eine C++11-Funktion.",
|
||||
"Eine Speicherklasse ist in einer expliziten Spezialisierung nicht zulässig.",
|
||||
"\"%t\" ist keine Klasse oder Enumeration mit eigenem Gültigkeitsbereich.",
|
||||
null,
|
||||
"Eine Enumeration ohne eigenen Gültigkeitsbereich muss undurchsichtig sein, um spezialisiert werden zu können.",
|
||||
"Eine Enumerationsvorlagendeklaration muss auf einen zuvor deklarierten Member einer Klassenvorlage verweisen.",
|
||||
"Es wurde ein Vektoroperand erwartet.",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"Die Variable darf keinen unvollständigen Typ \"%t\" aufweisen.",
|
||||
"Zugriff auf nicht initialisiertes Teilobjekt (%n).",
|
||||
"Zugriff auf nicht initialisiertes Teilobjekt (Basisklasse %t).",
|
||||
"Leerer Destruktoraufruf.",
|
||||
"Ein Pseudodestruktoraufruf ist in einem Konstantenausdruck nicht zulässig.",
|
||||
"Versuch, const-Speicher zu ändern.",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"Der Vektorelementtyp muss eine Ganzzahl, eine Enumeration oder ein echter Gleitkommatyp sein.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, da 128-Bit-Ganzzahlen nicht unterstützt werden.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, da Vektortypen nicht unterstützt werden.",
|
||||
"Zwei aufeinanderfolgende linke eckige Klammern können nur eine Attributliste einleiten.",
|
||||
"Zwei aufeinanderfolgende öffnende eckige Klammern leiten immer eine Attributliste ein, aber eine Attributliste darf an dieser Stelle nicht vorkommen.",
|
||||
"Ein nicht erkanntes Zielattribut schließt diese Routine von der Verwendung durch eine Resolverroutine aus.",
|
||||
"\"%t\" ist kein Vektortyp.",
|
||||
"Die Vektortypen %t1 und %t2 müssen gleich lang sein.",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"Ein Standardmemberinitialisierer ist in einer Werteklasse nicht zulässig.",
|
||||
"\"--implicit_noexcept\" erfordert einen Modus, der \"noexcept\" aktiviert.",
|
||||
"Ein Vorgang, der eine virtuelle Basisklasse (%t) beinhaltet, kann nicht gefaltet werden.",
|
||||
null,
|
||||
"Die Initialisierung ist nicht konstant.",
|
||||
"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 Konstruktoren, 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.",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"\"__has_include\" kann nicht außerhalb von \"#if\" vorkommen.",
|
||||
"Die Basisklasse \"CComCoClass\" konnte nicht hinzugefügt werden.",
|
||||
"Keine NULL-terminierte Zeichenfolge.",
|
||||
"Der nicht skalare Typ %t kann nicht in einem leeren Destruktoraufruf verwendet werden.",
|
||||
"Der nicht skalare Typ \"%t\" kann nicht in einem Pseudodestruktoraufruf verwendet werden.",
|
||||
"Die Adresse von \"weak\" %n ist nicht konstant.",
|
||||
"Zu viele rekursive Ersetzungen von Funktionsvorlagensignaturen.",
|
||||
"Ungültiger Spezifizierer für eine strukturierte Bindungsdeklaration.",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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.",
|
||||
"Geschachtelte Namespaces im C++17-Stil sind in diesem Modus nicht standardisiert.",
|
||||
"\"constexpr\" und \"consteval\" können in einer Deklaration nicht zugleich auftreten.",
|
||||
"In einer Deklaration kann nur einer der Werte \"constexpr\", \"consteval\" und \"constinit\" verwendet werden.",
|
||||
"Eine Funktion kann in diesem Modus nicht zugleich consteval und virtual sein.",
|
||||
"\"consteval\" ist in einer expliziten Instanziierungsdirektive nicht zulässig.",
|
||||
"\"consteval\" ist hier nicht gültig.",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"Das Attribut \"internal_linkage\" war in keiner vorherigen Deklaration vorhanden.",
|
||||
"Für \"%n\" wurde kein geeigneter Kandidat für die Vorlagenargumentdeduktion gefunden.",
|
||||
"Der Aufruf eines vollqualifizierten Konstruktors ist nicht zulässig.",
|
||||
"Ein Vergleichsoperator kann nur in einer Klassendefinition standardmäßig verwendet werden.",
|
||||
"Ein auf den Standardwert festgelegter Vergleichsoperator muss ein Member oder Friend der Klasse sein, auf die er angewendet wird.",
|
||||
"Ungültiger Typ \"%t\" für den Parameter des Standardvergleichsoperators (muss \"reference to const X\" lauten, wobei X für den einschließenden Klassentyp steht).",
|
||||
"Der Rückgabetyp des Standardvergleichsoperators muss \"bool\" lauten.",
|
||||
"Ein standardmäßiger Membervergleichsoperator muss \"const\" lauten.",
|
||||
"In dieser Klasse ist mehr als ein standardmäßiger spaceship-Operator definiert.",
|
||||
null,
|
||||
"Für den promise-Typ \"%t\" einer Coroutine kann nicht sowohl \"return_void\" als auch \"return_value\" festgelegt werden.",
|
||||
"\"return_value\" in \"%p\" deklariert.",
|
||||
"\"return_void\" hat \"%p\" deklariert.",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"Kein statisches constexpr-Datenmember \"%sq\" in \"%t\" gefunden.",
|
||||
"Die Anzahl der Elemente (%d) ist zu groß für die dynamische Zuordnung.",
|
||||
"Die Anforderung für die dynamische constexpr-Zuordnung ist zu groß.",
|
||||
"Die Zuordnung des nicht dynamisch zugeordneten Speichers wird aufgehoben.",
|
||||
"Die Größe der Zuordnungsaufhebung (%d1) entspricht nicht der Zuordnungsgröße (%d2).",
|
||||
"Belegungsfreigabe für nicht dynamisch zugeordneten Speicher",
|
||||
"Die Größe der Belegungsfreigabe (%d1) entspricht nicht der Größe der Speicherbelegung (%d2).",
|
||||
"Zuordnung hier erfolgt",
|
||||
"Der Typ der Zuordnungsaufhebung (%t1) entspricht nicht dem Zuordnungstyp (%t2).",
|
||||
"Der Typ der Belegungsfreigabe (%t1) entspricht nicht dem Typ der Speicherbelegung (%t2).",
|
||||
"Einige dynamische Zuordnungen (Gesamtzahl = %d) wurden nicht aufgehoben.",
|
||||
"%n (systemintern) mit unerwarteter Signatur deklariert (Typ \"%t\").",
|
||||
">> Ausgabe von std::__report_constexpr_value",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"Das Attribut \"ext_vector_type\" gilt nur für ganze Zahlen oder Gleitkommatypen.",
|
||||
"Dieses Feature-Test-Makro wird im aktuellen Kompilierungsmodus ignoriert (und gibt 0 zurück).",
|
||||
"Ein Aggregatinitialisierer mit mehreren Elementen für eine Union kann nicht ausgewertet werden.",
|
||||
"\"%nd\", für Operatorumschreibung ausgewählt, gibt nicht den Typ \"bool\" zurück.",
|
||||
"Ein new-expression mit Aufruf einer klassenspezifischen Zuteilungsfunktion kann nicht in einem konstanten Ausdruck ausgewertet werden.",
|
||||
"Ein new-expression mit Platzierung kann nicht in einem konstanten Ausdruck ausgewertet werden.",
|
||||
"Das Löschen über einen Teilobjektzeiger erfordert einen virtuellen Destruktor.",
|
||||
"%npTd, mit umgekehrten Argumenten",
|
||||
"Der Operand von __INTADDR__ muss ein Offset vom NULL-Zeiger aufweisen.",
|
||||
"_Generic-Konstrukt stimmt mit mehreren Typen überein.",
|
||||
"Die andere Übereinstimmung lautet \"%t\".",
|
||||
"Das hier verwendete Attribut \"availability\" wird ignoriert.",
|
||||
"Die C++20-Initialisierungsanweisung in einer bereichsbasierten for-Anweisung entspricht in diesem Modus nicht dem Standard.",
|
||||
"co_await kann nur auf eine bereichsbasierte for-Anweisung angewendet werden.",
|
||||
"Der Typ des Bereichs kann in einer bereichsbasierten for-Schleife nicht abgeleitet werden.",
|
||||
"Inlinevariablen sind ein C++17-Feature.",
|
||||
"Für eine \"operator delete\"-Funktion mit Zerstörung wird \"%t\" als erster Parameter benötigt.",
|
||||
"Eine \"operator delete\"-Funktion mit Zerstörung kann nur die Parameter \"std::size_t\" und \"std::align_val_t\" aufweisen.",
|
||||
"Optionen einer lockeren abstrakten Klasse können nur beim Kompilieren von C++ verwendet werden.",
|
||||
"Ungültiger Start des Ausdrucks in requires-Klausel.",
|
||||
"Ein cast-Ausdruck in einer requires-Klausel muss in Klammern gesetzt werden.",
|
||||
"Der this-Operator darf in einer requires-Klausel nicht auf oberster Ebene (ohne Klammern) verwendet werden.",
|
||||
"Die atomische Einschränkung muss den Typ \"bool\" aufweisen.",
|
||||
"Fehler beim Ersetzen der atomischen Einschränkung.",
|
||||
"Die atomische Einschränkung ist nicht konstant.",
|
||||
"Die atomische Einschränkung wird als FALSE ausgewertet.",
|
||||
"Die Vorlageneinschränkung wurde nicht erfüllt.",
|
||||
"Die Konzeptdefinition kann in diesem Bereich nicht verwendet werden.",
|
||||
"Ungültige Neudeklaration von \"%nd\".",
|
||||
"Fehler beim Ersetzen von Argumenten \"%T\" für \"concept-id\".",
|
||||
"Das Konzept für die Argumente \"%T\" ist FALSE.",
|
||||
"Eine requires-Klausel ist hier nicht zulässig (keine Funktion mit Vorlagen).",
|
||||
"Konzeptvorlage",
|
||||
"Die requires-Klausel ist nicht mit \"%nfd\" kompatibel.",
|
||||
"Es wurde ein Attribut erwartet.",
|
||||
null,
|
||||
"Es wurde ein Typname erwartet.",
|
||||
"Ein ellipsis-Parameter ist in einem requires-Ausdruck nicht zulässig.",
|
||||
"Ein unbenannter Parameter in einem requires-Ausdruck hat keine Auswirkungen.",
|
||||
"Es wurde ein Konzeptname erwartet.",
|
||||
"Der Aufruf von \"%s\" in einem konstanten Ausdruck führt immer zur Ausgabe von TRUE.",
|
||||
"Der Aufruf von \"%s\" in einem consteval-Kontext führt immer zur Ausgabe von TRUE.",
|
||||
"Der Aufruf von \"%s\" in einer Nicht-constexpr-Funktion führt immer zur Ausgabe von FALSE.",
|
||||
"Fehler bei Typeinschränkung für \"%t\".",
|
||||
"Die Option \"export\" kann nicht in einem Modus verwendet werden, in dem C++-Module aktiviert sind.",
|
||||
"Eine globale Modulfragmentdeklaration muss einer anderen Deklaration vorangestellt sein.",
|
||||
"Einer Moduldeklaration kann nur ein globales Modulfragment vorangestellt sein.",
|
||||
"Einem privaten Modulfragment muss eine Moduldeklaration vorangestellt sein.",
|
||||
"Ein Modulfragment vom Typ \"%s\" kann nicht exportiert werden.",
|
||||
"Es kann nicht mehr als ein Modul deklariert werden.",
|
||||
"Es kann nur ein Modulfragment vom Typ \"%s\" deklariert werden.",
|
||||
"Ein Modul muss mit einem nicht leeren Namen deklariert werden.",
|
||||
"\"%sq\" ist kein importierbarer Header.",
|
||||
"Ein Modul ohne Namen kann nicht importiert werden.",
|
||||
"Ein Modul kann keine Schnittstellenabhängigkeit von sich selbst aufweisen.",
|
||||
"Das Modul \"%sq\" wurde bereits importiert.",
|
||||
"Moduldatei",
|
||||
"Die Moduldatei \"%sq\" für den Import wurde nicht gefunden.",
|
||||
"Die Moduldatei \"%sq\" konnte nicht importiert werden."
|
||||
"Die Moduldatei für das Modul \"%sq\" wurde nicht gefunden.",
|
||||
"Die Moduldatei \"%sq\" konnte nicht importiert werden.",
|
||||
"Erwartet wurde \"%s1\", stattdessen gefunden: \"%s2\".",
|
||||
"beim Öffnen der Moduldatei \"%sq\"",
|
||||
"Unbekannter Partitionsname \"%sq\".",
|
||||
"Unbekannte Moduldatei",
|
||||
"Importierbare Headermoduldatei",
|
||||
"EDG-Moduldatei",
|
||||
"IFC-Moduldatei",
|
||||
"Unerwartete Moduldatei",
|
||||
"Der Typ des zweiten Operanden, \"%t2\", muss die gleiche Größe aufweisen wie \"%t1\".",
|
||||
"Der Typ muss trivial kopierbar sein.",
|
||||
"Der Typ \"%t\" wird derzeit für die constexpr-Auswertung von \"__builtin_bit_cast\" nicht unterstützt.",
|
||||
"Klassentypen mit %t-Bitfeldern werden derzeit für die constexpr-Auswertung von \"__builtin_bit_cast\" nicht unterstützt.",
|
||||
"Ein nicht statischer Datenmember vom Verweistyp \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"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.",
|
||||
"\"%n\" muss \"void\" zurückgeben.",
|
||||
"Ungültiger Beginn der Memberdeklaration.",
|
||||
"Erwartet wurde \"auto\".",
|
||||
"Der this-Operator ist an dieser Stelle nicht zulässig. Schließen Sie den vorangehenden new-Ausdruck in Klammern ein.",
|
||||
"Ungültige Verwendung von \"concept\".",
|
||||
"Ein standardmäßiger Membervergleichsoperator kann nicht &&-qualifiziert sein.",
|
||||
"Die constexpr-Standardvergleichsfunktion ruft die Nicht-constexpr-Funktion \"%nd\" auf.",
|
||||
"Der constexpr-Speichervergleich wird nur für integer-Objekte oder array-of-integer-Objekte unterstützt.",
|
||||
"Einer Konzeptvorlage können keine Einschränkungen zugeordnet sein.",
|
||||
"\"export\" ist nicht zulässig.",
|
||||
"Das Exportieren einzelner Klassenmember ist nicht zulässig.",
|
||||
"Eine exportierte Deklaration muss einen Namen einführen.",
|
||||
"Eine Exportdeklaration kann keine Exportdeklaration enthalten (vorherige Deklaration: %p).",
|
||||
"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.",
|
||||
"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.",
|
||||
"Die constinit-Variable erfordert eine dynamische Initialisierung.",
|
||||
"Die Variable wurde zuvor mit \"constinit\" %p deklariert.",
|
||||
"Verwendung eines Funktionsdeklarators ohne Prototyp ",
|
||||
"Das Argument darf keinen const-qualifizierten Typ aufweisen.",
|
||||
"Eine Pointer-to-Member-Funktion eines unvollständigen Typs \"%t\" ist nicht zulässig.",
|
||||
"Die Paketerweiterung in \"init-capture\" ist in diesem Modus nicht aktiviert.",
|
||||
"Die Paketerweiterung in \"init-capture\" ist ein C++ 20-Feature.",
|
||||
"Ein auf den Standardwert festgelegter Vergleichsoperator in einer Klassendefinition muss als erste Deklaration dieses Vergleichsoperators (%nd) aufgeführt sein.",
|
||||
"Eine Paketerweiterung in \"init-capture\" kann nur in einer variadischen Vorlage verwendet werden.",
|
||||
"Die Typeinschränkung verwendet \"%nd\". Dies ist kein Typkonzept (d. h. eine Konzeptvorlage, deren erster Parameter ein Typparameter ist).",
|
||||
"Fehler bei der Typeinschränkung aufgrund des hergeleiteten Platzhaltertyps \"%t\".",
|
||||
"Der Standardkonstruktor für \"%t\" ist nicht gültig.",
|
||||
"Der Destruktor für \"%t\" ist aufgrund ungeordneter Einschränkungen mehrdeutig.",
|
||||
"Der Destruktor für \"%t\" ist aufgrund fehlerhafter Einschränkungen nicht gültig.",
|
||||
"Mehrdeutiger Destruktorkandidat",
|
||||
"Eine virtuelle Funktion darf keine nachfolgende requires-Klausel aufweisen.",
|
||||
"\"%nd\" erfüllt nicht die Einschränkungen.",
|
||||
"Das Ergebnis des decltype-Qualifizierers \"%t\" ist keine Klasse oder Enumeration.",
|
||||
"Der Vergleich ist in standardmäßigem C++20 mehrdeutig, weil der implizite Vergleichsoperator mit umgekehrten Parametern eine gleichwertige Übereinstimmung darstellt. Dies wird normalerweise durch einen fehlenden const-Qualifizierer für den Vergleichsoperator ausgelöst. Siehe \"%nod\".",
|
||||
"Ungültige concept-id",
|
||||
"Fehler beim Ersetzen von Argumenten \"%T\" für requires-Klausel.",
|
||||
"Einschränkungen für \"%nd\" sind nicht erfüllt.",
|
||||
"Der Variablentyp \"%t\" in der constexpr-Funktion weist virtuelle Basisklassen auf.",
|
||||
"Ein konstanter Ausdruck kann kein virtuelles Basisteilobjekt zuordnen (für den Typ \"%t\").",
|
||||
"Ein Vorlagenparameter des Klassentyps muss einen strukturellen Klassentyp aufweisen.",
|
||||
"Die Unterstützung für UTF-8-Literale erfordert Unterstützung für u-Literale.",
|
||||
"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.",
|
||||
"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.",
|
||||
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.",
|
||||
"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"
|
||||
]
|
||||
@@ -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",
|
||||
@@ -171,7 +171,7 @@
|
||||
"se esperaba una declaración",
|
||||
"el puntero señala fuera del objeto subyacente",
|
||||
"conversión de tipo no válida",
|
||||
"conflicto de vinculación externa o interna con la declaración anterior",
|
||||
"conflicto de vinculación externa o interna con la declaración anterior %p",
|
||||
"el valor de punto flotante no incluye el tipo entero requerido",
|
||||
"la expresión no tiene efecto",
|
||||
"el subíndice está fuera del intervalo",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"se aplica más de una función de conversión de %t a un tipo integrado:",
|
||||
"const %n",
|
||||
"referencia %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operador integrado %sq",
|
||||
"%no (ambiguo por herencia)",
|
||||
"%nod, ambiguo por herencia",
|
||||
"no se puede tomar la dirección de un constructor o destructor",
|
||||
null,
|
||||
"elemento temporal usado para el valor inicial de referencia a un elemento que no es const (anacronismo)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"los atributos de variable que aparecen después de un inicializador entre paréntesis se omiten",
|
||||
"el resultado de esta conversión no se puede usar como valor L",
|
||||
"negación de un valor de punto fijo sin signo",
|
||||
"este operador no está permitido en este punto; use paréntesis",
|
||||
null,
|
||||
null,
|
||||
"los nombres de registro solo se pueden usar para las variables de registro",
|
||||
"las variables de registro con nombre no pueden tener el tipo void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"valor que indica que no se puede definir de nuevo no válido",
|
||||
"modificador de función duplicado",
|
||||
"carácter no válido para el literal char16_t",
|
||||
"__LPREFIX no se puede aplicar a los literales char8_t, char16_t o char32_t",
|
||||
null,
|
||||
"convención de llamada %s no reconocida, debe ser una de las siguientes:",
|
||||
null,
|
||||
null,
|
||||
@@ -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",
|
||||
@@ -2065,7 +2065,7 @@
|
||||
"no se permite el tipo de valor devuelto cli::pin_ptr",
|
||||
"el atributo %sq se aplica solamente en el modo %[C++/CLI]",
|
||||
"una referencia simple (que no sea de seguimiento) no se puede enlazar a una entidad en el montón administrado",
|
||||
"ensamblado portátil",
|
||||
"ensamblado portable",
|
||||
"'%s' no se cargó de los ensamblados predeterminados",
|
||||
"la sintaxis de inicialización de la lista es una funcionalidad de C++11",
|
||||
"el operando de sizeof no puede ser un tipo de clase ref o interface",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"es necesario #include <lista_de_inicializadores> antes de usar std::initializer_list, incluido un uso implícito",
|
||||
"la palabra clave 'inline' no se puede usar en una declaración de alias de espacio de nombres",
|
||||
"la declaración de %n anterior no se declaró como inline",
|
||||
"una nueva declaración de %n inline debe declararse como inline",
|
||||
"%n se declaró anteriormente como inline",
|
||||
"el primer argumento debe ser una constante de tipo entero",
|
||||
"un designador no se puede usar con un tipo %t no agregado",
|
||||
"Un designador de un miembro de unión anónima solo puede aparecer entre las llaves correspondientes a esa unión anónima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"el constructor constexpr debe inicializar la clase base directa %t",
|
||||
"es probable que la creación de un objeto std::initializer_list en un inicializador de campo no funcione según lo esperado porque la matriz subyacente se destruirá al final de la expresión completa",
|
||||
"'this' no se puede usar en una expresión constante",
|
||||
"un inicializador vacío no es válido para este tipo de unión (la elección del miembro que debe inicializarse es ambigua)",
|
||||
null,
|
||||
"\"constexpr\" no se permite en una directiva de creación de una instancia explícita",
|
||||
"no se puede determinar la especificación de excepción del constructor predeterminado debido a una dependencia circular",
|
||||
"la unión anónima definió %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"calificador no válido para %t (no se permite aquí una clase derivada)",
|
||||
"el atributo \"always_inline\" se omite en funciones no insertadas",
|
||||
"los constructores de herencia deben heredarse de una clase base directa",
|
||||
"%np ya se ha heredado de %t",
|
||||
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",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"las funciones eliminadas son una característica de C++11",
|
||||
"las funciones con valores predeterminados son una característica de C++11",
|
||||
"no se permite una clase de almacenamiento en una especialización explícita",
|
||||
"%t no es una clase o una enumeración con ámbito",
|
||||
null,
|
||||
"Una enumeración sin ámbito debe ser opaca para que pueda especializarse",
|
||||
"una declaración de plantilla de enumeración debe hacer referencia a un miembro anteriormente declarado de una plantilla de clase",
|
||||
"se esperaba un operando vectorial",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"la variable no puede tener el tipo %t incompleto",
|
||||
"acceso a subobjeto no inicializado (%n)",
|
||||
"acceso a subobjeto no inicializado (clase base %t)",
|
||||
"llamada a destructor vacío",
|
||||
"no se permite una llamada a un pseudodestructor en una expresión constante",
|
||||
"intento de modificar almacén de constantes",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"el tipo de elemento de vector debe ser integral, enumeración o punto flotante real",
|
||||
"la función builtin no está disponible porque no se admiten enteros de 128 bits",
|
||||
"la función builtin no está disponible porque no se admiten tipos de vectores",
|
||||
"dos corchetes izquierdos consecutivos solo pueden introducir una lista de atributos",
|
||||
"dos corchetes izquierdos consecutivos siempre introducen una lista de atributos, pero aquí no puede aparecer una lista de ese tipo",
|
||||
"el atributo \"target\" no reconocido descalifica esta rutina para su uso por la rutina de resolución",
|
||||
"%t no es un tipo de vector",
|
||||
"los tipos de vector %t1 y %t2 deben tener la misma longitud",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"no se permite un inicializador de miembros predeterminado en una clase de valor",
|
||||
"\"--implicit_noexcept\" requiere un modo que habilite noexcept",
|
||||
"no se puede plegar una operación que implica a la clase base virtual (%t)",
|
||||
null,
|
||||
"la inicialización no es constante",
|
||||
"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 constructores, destructores ni rutinas con el tipo de valor devuelto void",
|
||||
"el atributo \"nodiscard\" no se aplica a los destructores ni a las rutinas con un 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",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include no puede aparecer fuera de #if",
|
||||
"no se puede agregar la clase base CComCoClass",
|
||||
"no es una cadena terminada en NULL",
|
||||
"el tipo %t no escalar no se puede usar en la llamada a un destructor vacío",
|
||||
"el tipo no escalar \"%t\" no se puede usar en una llamada a un pseudodestructor",
|
||||
"la dirección de \"weak\" %n no es constante",
|
||||
"demasiadas sustituciones recursivas de firmas de plantilla de función",
|
||||
"especificador no válido para declaración de enlace estructurado",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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",
|
||||
"Los espacios de nombres anidados de estilo C++17 no son estándar en este modo",
|
||||
"\"constexpr\" y \"consteval\" no pueden aparecer simultáneamente en una declaración",
|
||||
"solo puede aparecer uno de los elementos \"constexpr\", \"consteval\" y \"constinit'' en una declaración",
|
||||
"una función no puede ser consteval y virtual a la vez en este modo",
|
||||
"\"consteval\" no se permite en una directiva de creación de una instancia explícita",
|
||||
"\"consteval\" no es válido aquí",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"El atributo \"internal_linkage\" no aparecía en una declaración anterior",
|
||||
"no se ha encontrado ningún candidato de deducción de argumentos de plantilla viable para %n",
|
||||
"no se permite una llamada de constructor completa",
|
||||
"a un operador de comparación solo se le puede asignar un valor predeterminado en una definición de clase",
|
||||
"un operador de comparación predeterminado debe ser un miembro o un elemento de confianza de la clase a la que se aplica",
|
||||
"tipo %t incorrecto para el parámetro del operador de comparación con valores predeterminados (debe ser una \"referencia a const X\", donde X es el tipo de clase envolvente)",
|
||||
"el tipo de valor devuelto del operador de comparación con valores predeterminados debe ser \"bool\"",
|
||||
"un operador de comparación de miembros con valores predeterminados debe ser \"const\"",
|
||||
"Se ha definido más de un operador de nave espacial con valores predeterminados en esta clase",
|
||||
null,
|
||||
"un tipo de promesa %t de corrutina no puede tener \"return_void\" y \"return_value\" establecidos a la vez",
|
||||
"\"return_value\" ha declarado %p",
|
||||
"\"return_void\" ha declarado %p",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"el atributo \"ext_vector_type\" solo se aplica a tipos de punto flotante o enteros",
|
||||
"esta macro de prueba de funcionalidades se ignora (y devuelve 0) en el modo de compilación actual",
|
||||
"no se puede evaluar un inicializador de agregado con varios elementos para una unión",
|
||||
"El elemento %nd seleccionado para la reescritura del operador no devuelve un tipo bool",
|
||||
"una expresión \"new\" que llama a una función de asignación específica de clase no se puede evaluar como constante",
|
||||
"una expresión de colocación \"new\" no se puede evaluar como constante",
|
||||
"la eliminación mediante un puntero de subobjeto requiere un destructor virtual",
|
||||
"%npTd, con argumentos inversos",
|
||||
"el operando de __INTADDR__ debe estar desplazado respecto al puntero nulo",
|
||||
"La construcción _Generic coincide con varios tipos",
|
||||
"la otra coincidencia es %t",
|
||||
"el atributo \"availability\" usado aquí se ignora",
|
||||
"La instrucción del inicializador de estilo C++20 en una instrucción \"for\" basada en intervalo no es estándar en este modo",
|
||||
"co_await solo se puede aplicar a una instrucción for basada en intervalo",
|
||||
"no se puede deducir el tipo de intervalo en el bucle \"for\" basado en intervalo",
|
||||
"las variables insertadas son una característica de C++17",
|
||||
"el operador de destrucción requiere %t como primer parámetro",
|
||||
"un operador de destrucción \"delete\" no puede tener parámetros distintos de std::size_t y std::align_val_t",
|
||||
"las opciones de clase abstracta flexible solo se pueden usar al compilar C++",
|
||||
"inicio no válido de la expresión en la cláusula requires",
|
||||
"una expresión cast en una cláusula requires debe estar entre paréntesis",
|
||||
"este operador no puede aparecer en el nivel superior (sin paréntesis) de una cláusula requires",
|
||||
"la restricción atómica debe tener un tipo bool",
|
||||
"error de sustitución de la restricción atómica",
|
||||
"restricción atómica no constante",
|
||||
"la restricción atómica se evalúa como false",
|
||||
"la restricción de plantilla no se cumple",
|
||||
"la definición de concepto no puede aparecer en este ámbito",
|
||||
"nueva declaración de %nd no válida",
|
||||
"error de sustitución de los argumentos %T para concept-id",
|
||||
"el concepto es false para los argumentos %T",
|
||||
"no se permite una cláusula requires aquí (no es una función basada en plantilla)",
|
||||
"plantilla de concepto",
|
||||
"la cláusula requires es incompatible con %nfd",
|
||||
"se esperaba un atributo",
|
||||
null,
|
||||
"se esperaba un nombre de tipo",
|
||||
"no se permite un parámetro de puntos suspensivos en una expresión requires",
|
||||
"el parámetro sin nombre de la expresión requires no tiene ningún efecto",
|
||||
"se esperaba un nombre de concepto",
|
||||
"la llamada a %s que aparece en una expresión constante siempre genera \"true\"",
|
||||
"la llamada a %s que aparece en un contexto consteval siempre genera \"true\"",
|
||||
"la llamada a %s que aparece en una función que no es constexpr siempre genera \"false\"",
|
||||
"error de la restricción de tipo de %t",
|
||||
"no se puede usar la opción \"export\" en los modos en los que estén habilitados los módulos de C++",
|
||||
"una declaración de fragmento de módulo global debe preceder a cualquier otra declaración",
|
||||
"una declaración de módulo solo puede ir precedida de un fragmento de módulo global",
|
||||
"un fragmento de módulo privado debe ir precedido de una declaración de módulo",
|
||||
"no se puede exportar un fragmento de módulo de %s",
|
||||
"no se puede declarar más de un módulo",
|
||||
"no se puede declarar más de un fragmento de módulo de %s",
|
||||
"un módulo debe declararse con un nombre que no esté vacío",
|
||||
"%sq no es un encabezado que se pueda importar",
|
||||
"no se puede importar un módulo sin nombre",
|
||||
"un módulo no puede tener una dependencia de interfaz de sí mismo",
|
||||
"el módulo %sq ya se ha importado",
|
||||
"archivo de módulo",
|
||||
"No se encuentra el archivo de módulo %sq para importarlo.",
|
||||
"No se puede importar el archivo de módulo %sq."
|
||||
"no se encuentra el archivo del módulo %sq",
|
||||
"No se puede importar el archivo de módulo %sq.",
|
||||
"se esperaba %s1, pero se encontró %s2 en su lugar",
|
||||
"al abrir el archivo de módulo %sq",
|
||||
"nombre de partición %sq desconocido",
|
||||
"un archivo de módulo desconocido",
|
||||
"un archivo de módulo de encabezado importable",
|
||||
"un archivo de módulo EDG",
|
||||
"un archivo de módulo IFC",
|
||||
"un archivo de módulo inesperado",
|
||||
"el tipo del segundo operando %t2 debe tener el mismo tamaño que %t1",
|
||||
"el tipo debe poder copiarse de forma trivial",
|
||||
"no se admite el tipo %t para la evaluación constexpr de __builtin_bit_cast",
|
||||
"no se admiten los tipos de clase con campos de bits %t para la evaluación constexpr de __builtin_bit_cast",
|
||||
"un miembro de datos no estático del tipo de referencia %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"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",
|
||||
"%n debe devolver void",
|
||||
"inicio de declaración de miembro no válido",
|
||||
"se esperaba \"auto\"",
|
||||
"este operador no está permitido en este punto; incluya la expresión \"new\" anterior entre paréntesis",
|
||||
"uso no válido del concepto",
|
||||
"un operador de comparación de miembros con valores predeterminados no puede estar calificado con \"&&\"",
|
||||
"la función de comparación constexpr predeterminada llama a una función %nd que no es constexpr",
|
||||
"la comparación de memoria de constexpr solo se admite para objetos de matriz de enteros o enteros",
|
||||
"una plantilla de concepto no puede tener restricciones asociadas",
|
||||
"no se permite \"export\"",
|
||||
"no se permite la exportación de miembros de clases individuales",
|
||||
"una declaración exportada debe introducir un nombre",
|
||||
"una declaración de exportación no puede contener otra declaración de exportación (declaración %p anterior)",
|
||||
"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",
|
||||
"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",
|
||||
"la variable constinit requiere la inicialización dinámica",
|
||||
"la variable se declaró previamente con \"constinit\" %p",
|
||||
"uso del declarador de función no prototipo",
|
||||
"el argumento no puede tener un tipo calificado constante",
|
||||
"no se permite un puntero a miembro de un tipo %t incompleto",
|
||||
"la expansión del paquete en la captura de inicialización no está habilitada en este modo",
|
||||
"la expansión del paquete en la captura de inicialización es una característica de C++20",
|
||||
"un operador de comparación con valor predeterminado en una definición de clase debe ser la primera declaración de ese operador de comparación (%nd)",
|
||||
"una expansión del paquete en una captura de inicialización solo se puede usar en una plantilla variádica",
|
||||
"la restricción de tipo usa %nd, que no es un concepto de tipo (es decir, una plantilla de concepto cuyo primer parámetro es un parámetro de tipo)",
|
||||
"el tipo de marcador de posición %t deducido generó un error en la restricción de tipo",
|
||||
"el constructor predeterminado de %t no es elegible",
|
||||
"el destructor de %t es ambiguo debido a restricciones desordenadas",
|
||||
"el destructor de %t no es elegible debido a restricciones con errores",
|
||||
"candidato destructor ambiguo",
|
||||
"una función virtual no puede tener una cláusula requires final",
|
||||
"%nd no cumple sus restricciones",
|
||||
"el resultado del calificador decltype %t no es una clase ni una enumeración",
|
||||
"la comparación es ambigua en C++ 20 estándar porque el operador de comparación implicado con los parámetros inversos es una coincidencia igualmente buena. Esto suele deberse a que falta un calificador \"const\" en el operador de comparación; vea %nod",
|
||||
"identificador de concepto no válido",
|
||||
"error de sustitución de los argumentos %T para la cláusula requires",
|
||||
"no se cumplen las restricciones de %nd",
|
||||
"el tipo de variable %t de la función constexpr tiene clases base virtuales",
|
||||
"una expresión constante no puede asignar un subobjeto base virtual (para el tipo %t)",
|
||||
"un parámetro de plantilla de tipo de clase debe ser un tipo de clase estructural",
|
||||
"la compatibilidad con los literales UTF-8 requiere compatibilidad con u-literal.",
|
||||
"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",
|
||||
"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",
|
||||
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)",
|
||||
"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"
|
||||
]
|
||||
@@ -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",
|
||||
@@ -171,7 +171,7 @@
|
||||
"déclaration attendue",
|
||||
"le pointeur pointe en dehors de l'objet sous-jacent",
|
||||
"conversion de type non valide",
|
||||
"conflit entre la liaison externe/interne et la déclaration précédente",
|
||||
"conflit entre la liaison externe/interne et la déclaration précédente %p",
|
||||
"la valeur à virgule flottante ne peut pas être contenue dans le type intégral requis",
|
||||
"Expression sans effet",
|
||||
"Indice hors limites",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"plusieurs fonctions de conversion de %t en type intégré s'appliquent :",
|
||||
"const %n",
|
||||
"référence %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"opérateur intégré %sq",
|
||||
"%no (ambigu par héritage)",
|
||||
"%nod, ambigu par héritage",
|
||||
"impossible de prendre l'adresse d'un constructeur ou d'un destructeur",
|
||||
null,
|
||||
"utilisation temporaire pour la valeur initiale d'une référence à une non-constante (anachronisme)",
|
||||
@@ -1289,8 +1289,8 @@
|
||||
"qualificateur const ignoré",
|
||||
null,
|
||||
"qualificateurs asm GNU non valides",
|
||||
"un type de classe qui ne peut pas être copié de manière triviale a été passé via des points de suspension",
|
||||
"un type de classe qui ne peut pas être copié de manière triviale ne peut pas être récupéré (fetch) par va_arg",
|
||||
"un type de classe qui ne peut pas être copié de manière évidente a été passé via des points de suspension",
|
||||
"un type de classe qui ne peut pas être copié de manière évidente ne peut pas être récupéré (fetch) par va_arg",
|
||||
"le suffixe 'u' ou 'U' doit apparaître avant le suffixe 'l' ou 'L' dans un littéral à virgule fixe",
|
||||
"l'option 'fixed_point' peut uniquement être utilisée lors de la compilation de C++",
|
||||
"un opérande entier peut entraîner un dépassement de capacité à virgule fixe",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"plusieurs variables apparaissant après un initialiseur entre parenthèses sont ignorées",
|
||||
"impossible d'utiliser le résultat de ce cast comme une lvalue",
|
||||
"négation d'une valeur à virgule fixe non signée",
|
||||
"cet opérateur n'est pas autorisé actuellement ; utilisez des parenthèses",
|
||||
null,
|
||||
null,
|
||||
"les noms de registre peuvent uniquement être utilisés pour les variables de registre",
|
||||
"les variables de registre nommées ne peuvent pas avoir le type void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"valeur cannot-redefine non valide",
|
||||
"modificateur de fonction dupliqué",
|
||||
"caractère non valide pour le littéral char16_t",
|
||||
"Impossible d'appliquer __LPREFIX aux littéraux char8_t, char16_t ou char32_t",
|
||||
null,
|
||||
"convention d'appel inconnue %s, doit être l'une des suivantes :",
|
||||
null,
|
||||
null,
|
||||
@@ -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",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"impossible de capturer une variable locale en dehors de la portée de la fonction active",
|
||||
"impossible de faire référence à la fonction englobante 'this' dans le corps d'une expression lambda, sauf si elle figure dans la liste de capture",
|
||||
null,
|
||||
"impossible de copier la variable de capture lambda de type %t1 dans le champ closure class de type %t2",
|
||||
"impossible de copier la variable capturée lambda de type %t1 dans le champ closure class de type %t2",
|
||||
"répertoire de modèles non valide : %s",
|
||||
"erreur",
|
||||
"erreurs",
|
||||
@@ -1896,7 +1896,7 @@
|
||||
"l'attribut 'hiding' spécifié sur une déclaration référencée par la déclaration using %p",
|
||||
"l'attribut 'hiding' est requis sur une déclaration (dans une classe 'base_check') qui masque %nd",
|
||||
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type local",
|
||||
"%n n'est pas défini dans cette unité de traduction, mais dépend d'u n type sans liaison",
|
||||
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type sans liaison",
|
||||
"l'attribut %sq est manquant dans une autre unité de traduction",
|
||||
"l'attribut %sq est en conflit avec une autre unité de traduction",
|
||||
"l'option 'nonstd_gnu_keywords' est uniquement valide dans les modes C GNU et C++ GNU",
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list> est nécessaire avant l'utilisation de std::initializer_list, dont une utilisation implicite",
|
||||
"Le mot clé 'inline' ne peut pas être utilisé sur une déclaration d'alias d'espace de noms",
|
||||
"la déclaration précédente de %n n'était pas déclarée inline",
|
||||
"une redéclaration de %n inline doit être déclarée inline",
|
||||
"%n a déjà été déclaré Inline",
|
||||
"le premier argument doit être une constante entière",
|
||||
"impossible d'utiliser un désignateur avec un type différent d'un agrégat %t",
|
||||
"un désignateur pour un membre d'union anonyme peut uniquement apparaître entre des accolades qui correspondent à cette union anonyme",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"le constructeur constexpr doit initialiser la classe de base directe %t",
|
||||
"la création d'un objet std::initializer_list dans un initialiseur de champ ne fonctionne généralement pas comme il le devrait, car le tableau sous-jacent est détruit à la fin de l'expression complète",
|
||||
"Impossible d'utiliser 'this' dans une expression constante",
|
||||
"initialiseur vide non valide pour ce type d'union (ambiguïté quant au membre à initialiser)",
|
||||
null,
|
||||
"'constexpr' n'est pas autorisé sur une directive d'instanciation explicite",
|
||||
"impossible de déterminer la spécification d'exception du constructeur par défaut en raison d'une dépendance circulaire",
|
||||
"union anonyme définie %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"qualificateur non valide pour %t (classe dérivée non autorisée ici)",
|
||||
"l'attribut 'always_inline' est ignoré dans les fonctions non inline",
|
||||
"les constructeurs d'héritage doivent être hérités d'une classe de base directe",
|
||||
"%np déjà hérité de %t",
|
||||
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",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"les fonctions supprimées sont une fonctionnalité C++11",
|
||||
"les fonctions par défaut sont une fonctionnalité C++11",
|
||||
"impossible d'utiliser une classe de stockage dans une spécialisation explicite",
|
||||
"%t n'est pas une classe ni une énumération délimitée",
|
||||
null,
|
||||
"une énumération non délimitée doit être opaque pour être spécialisée",
|
||||
"une déclaration de modèle d'énumération doit faire référence à un membre précédemment déclaré d'un modèle de classe",
|
||||
"opérande de vecteur attendu",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"la variable ne peut pas avoir le type incomplet %t",
|
||||
"accès au sous-objet non initialisé (%n)",
|
||||
"accès au sous-objet non initialisé (classe de base %t)",
|
||||
"appel de destructeur vide",
|
||||
"un appel de pseudo-destructeur n'est pas autorisé dans une expression constante",
|
||||
"tentative de modification du stockage de const",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"le type d'élément de vecteur doit être intégral, enum ou un type à virgule flottante réel",
|
||||
"la fonction intégrée n'est pas disponible car les entiers 128 bits ne sont pas pris en charge",
|
||||
"la fonction intégrée n'est pas disponible car les types de vecteur ne sont pas pris en charge",
|
||||
"deux crochets gauches consécutifs peuvent uniquement introduire une liste d'attributs",
|
||||
"deux crochets gauches successifs introduisent toujours une liste d'attributs, mais aucune liste d'attributs ne peut apparaître ici",
|
||||
"un attribut 'target' non reconnu empêche cette routine d'être utilisée par la routine de résolution",
|
||||
"%t n'est pas un type de vecteur",
|
||||
"les types de vecteur %t1 et %t2 doivent avoir la même longueur",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"un initialiseur de membre par défaut n'est pas autorisé dans une classe value",
|
||||
"'--implicit_noexcept' nécessite un mode qui active noexcept",
|
||||
"impossible de plier une opération impliquant une classe de base virtuelle (%t)",
|
||||
null,
|
||||
"l'initialisation n'est pas constante",
|
||||
"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 constructeurs, destructeurs ou routines ayant le type de retour void",
|
||||
"l'attribut 'nodiscard' ne s'applique pas aux destructeurs ou routines ayant 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",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include ne peut pas apparaître en dehors de #if",
|
||||
"impossible d'ajouter la classe de base CComCoClass",
|
||||
"ne représente pas une chaîne finissant par une valeur null",
|
||||
"impossible d'utiliser le type non-scalaire %t dans un appel de destructeur vide",
|
||||
"impossible d'utiliser le type non-scalaire %t dans un appel de pseudo-destructeur",
|
||||
"l'adresse de 'weak' %n n'est pas une constante",
|
||||
"trop de substitutions récursives des signatures de modèle de fonction",
|
||||
"spécificateur non valide pour la déclaration de liaison structurée",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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",
|
||||
"Les espaces de noms imbriqués de style C++17 ne sont pas standard dans ce mode",
|
||||
"'constexpr' et 'consteval' ne peuvent pas apparaître tous les deux dans une déclaration",
|
||||
"seule une instance de 'constexpr', 'consteval' et 'constinit' peut apparaître dans une déclaration",
|
||||
"une fonction ne peut pas être à la fois consteval et virtual dans ce mode",
|
||||
"'consteval' n'est pas autorisé sur une directive d'instanciation explicite",
|
||||
"'consteval' est non valide ici",
|
||||
@@ -3166,17 +3166,17 @@
|
||||
"l'attribut 'internal_linkage' n'est pas apparu dans une déclaration antérieure",
|
||||
"aucun candidat de déduction d'argument de modèle viable n'a été localisé pour %n",
|
||||
"un appel de constructeur complet n'est pas autorisé",
|
||||
"un opérateur de comparaison peut uniquement être utilisé par défaut dans une définition de classe",
|
||||
"un opérateur de comparaison par défaut doit être membre ou ami de la classe à laquelle il s'applique",
|
||||
"type %t incorrect pour le paramètre de l'opérateur de comparaison par défaut (il doit s'agir d'une 'référence à const X' où X est le type classe englobant)",
|
||||
"le type de retour de l'opérateur de comparaison par défaut doit être 'bool'",
|
||||
"un opérateur de comparaison de membres par défaut doit être 'const'",
|
||||
"plusieurs opérateurs vaisseau spatial par défaut définis dans cette classe",
|
||||
null,
|
||||
"le type de promesse %t d'une coroutine ne peut pas avoir à la fois 'return_void' et 'return_value' définis",
|
||||
"'return_value' déclaré dans %p",
|
||||
"'return_void' déclaré %p",
|
||||
"instruction co_return manquante alors que %t n'a aucun 'return_void' à la fin de %n",
|
||||
"variante nothrow de la fonction globale 'operator new' introuvable pour l'allocation d'état de la coroutine",
|
||||
"'operator delete' viable introuvable pour la libération d'état de la coroutine",
|
||||
"'operator delete' viable introuvable pour la désallocation d'état de la coroutine",
|
||||
"une fonction constexpr ne peut pas être une coroutine",
|
||||
"l'opérande de cette expression %s est résolu en un %t qui n'est pas une classe",
|
||||
"une expression co_await n'est pas autorisée dans un initialiseur statique",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"membre de données statique constexpr %sq introuvable dans %t",
|
||||
"nombre d'éléments (%d) trop grand pour une allocation dynamique",
|
||||
"demande d'allocation dynamique constexpr trop grande",
|
||||
"libération de stockage non alloué dynamiquement",
|
||||
"la taille de libération (%d1) ne correspond pas à la taille allouée (%d2)",
|
||||
"désallocation de stockage non alloué dynamiquement",
|
||||
"la taille de désallocation (%d1) ne correspond pas à la taille allouée (%d2)",
|
||||
"une allocation s'est produite ici",
|
||||
"le type de libération (%t1) ne correspond pas au type d'allocation (%t2)",
|
||||
"le type de désallocation (%t1) ne correspond pas au type d'allocation (%t2)",
|
||||
"certaines allocations dynamiques (nombre total = %d) n'ont pas été libérées",
|
||||
"%n intrinsèque déclaré avec une signature inattendue (type %t)",
|
||||
">> sortie de std::__report_constexpr_value",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"l'attribut 'ext_vector_type' s'applique uniquement aux types entiers ou à virgule flottante",
|
||||
"cette macro de test de fonctionnalité est ignorée (et retourne 0) dans le mode de compilation actuel",
|
||||
"impossible d'évaluer un initialiseur d'agrégat avec plusieurs éléments pour une union",
|
||||
"La sélection de %nd pour la réécriture d'opérateur ne retourne pas le type bool",
|
||||
"une expression new qui appelle une fonction d'allocation spécifique à une classe ne peut pas être évaluée en tant que constante",
|
||||
"une expression new de placement ne peut pas être évaluée en tant que constante",
|
||||
"une suppression via un pointeur de sous-objet nécessite un destructeur virtuel",
|
||||
"%npTd, avec des arguments inversés",
|
||||
"l'opérande de __INTADDR__ doit être décalé par rapport au pointeur null",
|
||||
"La construction _Generic correspond à plusieurs types",
|
||||
"l'autre correspondance est %t",
|
||||
"l'attribut 'availability' utilisé ici est ignoré",
|
||||
"L'instruction de l'initialiseur de style C++20 dans une instruction 'for' basée sur une plage n'est pas standard dans ce mode",
|
||||
"co_await peut s'appliquer uniquement à une instruction for basée sur une plage",
|
||||
"impossible de déduire le type de la plage dans une boucle 'for' basée sur une plage",
|
||||
"les variables inline sont une fonctionnalité C++17",
|
||||
"l'opérateur delete de destruction nécessite %t en tant que premier paramètre",
|
||||
"un opérateur delete de destruction ne peut pas avoir d'autres paramètres que std::size_t et std::align_val_t",
|
||||
"les options de classe abstraite non limitées peuvent uniquement être utilisées durant la compilation en C++",
|
||||
"début d'expression non valide dans la clause requires",
|
||||
"une expression cast dans une clause requires doit être entre parenthèses",
|
||||
"cet opérateur ne peut pas apparaître au niveau supérieur (sans parenthèses) dans une clause requires",
|
||||
"la contrainte atomique doit être de type bool",
|
||||
"échec de substitution de la contrainte atomique",
|
||||
"la contrainte atomique n'est pas une constante",
|
||||
"la contrainte atomique a la valeur false",
|
||||
"contrainte de modèle non satisfaite",
|
||||
"la définition de concept ne peut pas apparaître dans cette étendue",
|
||||
"redéclaration non valide de %nd",
|
||||
"échec de la substitution des arguments %T pour l'ID de concept",
|
||||
"le concept est faux pour les arguments %T",
|
||||
"une clause requires n'est pas autorisée ici (il ne s'agit pas d'une fonction basée sur un modèle)",
|
||||
"modèle de concept",
|
||||
"clause requires incompatible avec %nfd",
|
||||
"attribut attendu",
|
||||
null,
|
||||
"nom de type attendu",
|
||||
"un paramètre ellipse n'est pas autorisé dans une expression requires",
|
||||
"un paramètre sans nom dans une expression requires n'a aucun effet",
|
||||
"nom de concept attendu",
|
||||
"un appel à %s apparaissant dans une expression constante produit toujours 'true'",
|
||||
"un appel à %s apparaissant dans un contexte consteval produit toujours 'true'",
|
||||
"un appel à %s apparaissant dans une fonction non constexpr produit toujours 'false'",
|
||||
"échec de la contrainte de type pour %t",
|
||||
"l'option 'export' ne peut pas être utilisée dans les modes où les modules C++ sont activés",
|
||||
"une déclaration de fragment de module global doit précéder toute autre déclaration",
|
||||
"une déclaration de module ne peut être précédée que d'un fragment de module global",
|
||||
"un fragment de module privé doit être précédé d'une déclaration de module",
|
||||
"un fragment de module %s ne peut pas être exporté",
|
||||
"impossible de déclarer plusieurs modules",
|
||||
"impossible de déclarer plusieurs fragments de module %s",
|
||||
"un module doit être déclaré avec un nom non vide",
|
||||
"%sq n'est pas un en-tête importable",
|
||||
"impossible d'importer un module sans nom",
|
||||
"un module ne peut pas avoir de dépendance d'interface par rapport à lui-même",
|
||||
"le module %sq a déjà été importé",
|
||||
"fichier de module",
|
||||
"fichier de module %sq introuvable pour l'importation",
|
||||
"impossible d'importer le fichier de module %sq"
|
||||
"fichier de module introuvable pour le module %sq",
|
||||
"impossible d'importer le fichier de module %sq",
|
||||
"%s1 attendu, %s2 trouvé à la place",
|
||||
"à l'ouverture du fichier de module %sq",
|
||||
"nom de partition inconnu %sq",
|
||||
"fichier de module inconnu",
|
||||
"fichier de module d'en-tête importable",
|
||||
"fichier de module EDG",
|
||||
"fichier de module IFC",
|
||||
"fichier de module inattendu",
|
||||
"le type du deuxième opérande %t2 doit avoir la même taille que %t1",
|
||||
"le type doit pouvoir être copié de façon triviale",
|
||||
"le type %t n'est pas pris en charge pour l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"les types classe avec des champs de bits %t ne sont pas pris en charge pour l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"un membre de données non statique de type référence %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"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é",
|
||||
"%n doit retourner void",
|
||||
"début de déclaration de membre non valide",
|
||||
"'auto' attendu",
|
||||
"cet opérateur n'est pas autorisé à ce stade ; mettez entre parenthèses l'expression new précédente",
|
||||
"utilisation non valide du concept",
|
||||
"un opérateur de comparaison de membres par défaut ne peut pas être qualifié en tant que '&&'",
|
||||
"la fonction de comparaison constexpr par défaut appelle la fonction non constexpr %nd",
|
||||
"la comparaison de mémoire constexpr est prise en charge uniquement pour les objets d'entiers ou les objets de tableaux d'entiers",
|
||||
"un modèle de concept ne peut pas avoir de contraintes associées",
|
||||
"'export' n'est pas autorisé",
|
||||
"l'exportation de membres de classe individuels n'est pas autorisée",
|
||||
"une déclaration exportée doit introduire un nom",
|
||||
"une déclaration export ne peut pas contenir de déclaration export (déclaration précédente %p)",
|
||||
"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",
|
||||
"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",
|
||||
"la variable constinit nécessite une initialisation dynamique",
|
||||
"la variable a été déclarée avec 'constinit' %p",
|
||||
"utilisation d'un déclarateur de fonction non-prototype",
|
||||
"l'argument ne peut pas avoir un type qualifié const",
|
||||
"un pointeur vers membre de type incomplet %t n'est pas autorisé",
|
||||
"l'expansion de pack dans init-capture n'est pas activée dans ce mode",
|
||||
"l'expansion de pack dans init-capture est une fonctionnalité C++20",
|
||||
"un opérateur de comparaison par défaut dans une définition de classe doit être la première déclaration de cet opérateur de comparaison (%nd)",
|
||||
"une expansion de pack dans une capture d'initialisation peut uniquement être utilisée dans un modèle variadique",
|
||||
"la contrainte de type utilise %nd qui n'est pas un concept de type (c'est-à-dire un modèle de concept dont le premier paramètre est un paramètre de type)",
|
||||
"échec de la contrainte de type pour le type d'espace réservé déduit %t",
|
||||
"le constructeur par défaut pour %t n'est pas éligible",
|
||||
"le destructeur pour %t est ambigu en raison de contraintes non ordonnées",
|
||||
"le destructeur pour %t est inéligible en raison de l'échec de contraintes",
|
||||
"candidat destructeur ambigu",
|
||||
"une fonction virtuelle ne peut pas avoir de clause requires de fin",
|
||||
"%nd ne respecte pas ses contraintes",
|
||||
"le résultat du qualificateur decltype %t n'est pas une classe ou une énumération",
|
||||
"la comparaison est ambiguë dans la norme C++20, car l'opérateur de comparaison implicite avec des paramètres inversés représente une correspondance tout aussi appropriée (cela est généralement dû à un qualificateur 'const' manquant sur l'opérateur de comparaison) ; consultez %nod",
|
||||
"ID de concept non valide",
|
||||
"échec de la substitution des arguments %T pour la clause requires",
|
||||
"les contraintes pour %nd ne sont pas satisfaites",
|
||||
"le type de variable %t dans la fonction constexpr a des classes de base virtuelles",
|
||||
"une expression constante ne peut pas allouer un sous-objet de base virtuel (pour le type %t)",
|
||||
"un paramètre de modèle de type classe doit être de type classe structurelle",
|
||||
"la prise en charge des littéraux UTF-8 nécessite une prise en charge du littéral u.",
|
||||
"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",
|
||||
"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",
|
||||
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)",
|
||||
"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 énumération",
|
||||
"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"
|
||||
]
|
||||
@@ -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",
|
||||
@@ -171,7 +171,7 @@
|
||||
"prevista una dichiarazione",
|
||||
"il puntatore punta all'esterno dell'oggetto sottostante",
|
||||
"conversione di tipo non valida",
|
||||
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente",
|
||||
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente %p",
|
||||
"il valore a virgola mobile non rientra nel tipo integrale richiesto",
|
||||
"l'espressione non ha effetto",
|
||||
"indice non incluso nell'intervallo",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"è disponibile più di una funzione di conversione da %t a un tipo incorporato:",
|
||||
"costante %n",
|
||||
"riferimento %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operatore predefinito %sq",
|
||||
"%no (ambiguo per ereditarietà)",
|
||||
"%nod, ambiguo per ereditarietà",
|
||||
"un costruttore o un distruttore non può accettare il relativo indirizzo",
|
||||
null,
|
||||
"memoria temporanea utilizzata per il valore iniziale del riferimento a non const (anacronismo)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n non è un modello di classe",
|
||||
"matrice con tipo di elementi incompleto non conforme allo standard",
|
||||
"impossibile dichiarare un operatore di allocazione in uno spazio dei nomi",
|
||||
"impossibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
|
||||
"non è possibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
|
||||
"conflitto tra %np1 e la dichiarazione using di %np2",
|
||||
"conflitto tra la dichiarazione using di %np1 e %npd2",
|
||||
"è possibile utilizzare l'opzione namespaces solo quando si esegue la compilazione nel linguaggio C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"gli attributi di variabile inseriti dopo un inizializzatore tra parentesi vengono ignorati",
|
||||
"impossibile utilizzare il risultato di questo cast come lvalue",
|
||||
"negazione di un valore a virgola fissa senza segno",
|
||||
"operatore non consentito in questo punto. Usare le parentesi",
|
||||
null,
|
||||
null,
|
||||
"i nomi di registro possono essere utilizzati solo per le variabili register",
|
||||
"il tipo delle variabili denominato nel registro non può essere void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"valore di Impossibile ridefinire non valido",
|
||||
"modificatore di funzione duplicato",
|
||||
"carattere non valido per il valore letterale char16_t",
|
||||
"non è possibile applicare __LPREFIX al valore letterale char8_t, char16_t o char32_t",
|
||||
null,
|
||||
"convenzione di chiamata %s non riconosciuta. Deve essere una delle seguenti:",
|
||||
null,
|
||||
null,
|
||||
@@ -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",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"impossibile acquisire una variabile locale all'esterno dell'ambito di funzione corrente",
|
||||
"impossibile fare riferimento alla funzione contenitore 'this' nel corpo di un'espressione lambda a meno che non sia inclusa nell'elenco di acquisizione",
|
||||
null,
|
||||
"impossibile copiare la variabile acquisita di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
|
||||
"non è possibile copiare la variabile catturata di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
|
||||
"directory del modello non valida: %s",
|
||||
"errore",
|
||||
"errori",
|
||||
@@ -2065,7 +2065,7 @@
|
||||
"tipo restituito cli::pin_ptr non consentito",
|
||||
"l'attributo %sq si applica solo in modalità %[C++/CLI]",
|
||||
"non è possibile associare un riferimento semplice (non di traccia) a un'entità nell'heap gestito",
|
||||
"assembly portatile",
|
||||
"assembly portabile",
|
||||
"'%s' non caricato da assembly predefiniti",
|
||||
"la sintassi di inizializzazione elenco è una funzionalità C++11",
|
||||
"l'operando di sizeof non può essere un tipo classe di interfaccia o un tipo classe di riferimento",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list> è necessario prima di utilizzare std::initializer_list, compreso un utilizzo implicito",
|
||||
"impossibile utilizzare la parola chiave 'inline' in una dichiarazione di alias dello spazio dei nomi",
|
||||
"la dichiarazione precedente di %n non è stata dichiarata inline",
|
||||
"una ridichiarazione di inline %n deve essere dichiarata inline",
|
||||
"%n è stato dichiarato in precedenza come inline",
|
||||
"il primo argomento deve essere una costante integer",
|
||||
"non è possibile usare un indicatore con un tipo non aggregato %t",
|
||||
"un indicatore per un membro di unione anonima può essere presente solo all'interno delle parentesi graffe corrispondenti a tale unione anonima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"il costruttore constexpr deve inizializzare la classe base diretta %t",
|
||||
"è improbabile che la creazione di un oggetto std::initializer_list in un inizializzatore di campo funzioni come previsto perché la matrice sottostante verrà distrutta alla fine dell'espressione completa",
|
||||
"impossibile utilizzare 'this' in un'espressione costante",
|
||||
"un inizializzatore vuoto non è valido per questo tipo di unione (il membro da inizializzare è ambiguo)",
|
||||
null,
|
||||
"'constexpr' non è consentito in una direttiva di creazione esplicita di un'istanza",
|
||||
"impossibile determinare la specificazione dell'espressione del costruttore predefinito a causa di una dipendenza circolare",
|
||||
"%p definito da unione anonima",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"il qualificatore per %t non è valido. In questo punto non sono consentite classi derivate.",
|
||||
"l'attributo 'always_inline' viene ignorato in funzioni non inline",
|
||||
"i costruttori che ereditano devono essere ereditati da una classe base diretta",
|
||||
"%np è già ereditato da %t",
|
||||
null,
|
||||
"è prevista un'etichetta",
|
||||
"è previsto un numero operando dopo '%%l'",
|
||||
"il numero operando per '%%l' non fa riferimento a un argomento di etichetta valido",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"le funzioni eliminate sono una funzionalità di C++11",
|
||||
"le funzioni impostate come predefinite sono una funzionalità di C++11",
|
||||
"una classe di archiviazione non è consentita in una specializzazione esplicita",
|
||||
"%t non è una classe o un'enumerazione con ambito",
|
||||
null,
|
||||
"un'enumerazione senza ambito deve essere opaca per essere specializzata",
|
||||
"una dichiarazione di modello dell'enumerazione deve fare riferimento a un membro precedentemente dichiarato di un modello di classe",
|
||||
"è previsto un operando vettore",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"la variabile non può contenere il tipo incompleto %t",
|
||||
"accesso al sotto-oggetto non inizializzato (%n)",
|
||||
"accesso al sotto-oggetto non inizializzato (classe di base %t)",
|
||||
"chiamata al distruttore vuota",
|
||||
"in un'espressione costante non è consentita una chiamata allo pseudodistruttore",
|
||||
"si è provato a modificare l'archivio const",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"il tipo di elemento di vettore deve essere integrale, enumerazione o reale a virgola mobile",
|
||||
"la funzione predefinita non è disponibile perché gli interi a 128 bit non sono supportati",
|
||||
"la funzione predefinita non è disponibile perché i tipi di vettore non sono supportati",
|
||||
"due parentesi quadre aperte consecutive possono solo introdurre un elenco di attributi",
|
||||
"due parentesi quadre aperte consecutive introducono sempre un elenco di attributi, ma in questo punto non è possibile specificare un elenco di attributi",
|
||||
"l'attributo 'target' non è riconosciuto, di conseguenza questa routine non può essere usata dalla routine del resolver",
|
||||
"%t non è un tipo di vettore",
|
||||
"i tipi di vettore %t1 e %t2 devono avere la stessa lunghezza",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"in una classe di valori non sono consentiti inizializzatori di membri predefiniti",
|
||||
"con '--implicit_noexcept' è richiesta una modalità che abilita noexcept",
|
||||
"non è possibile ridurre l'operazione che riguarda la classe di base virtuale (%t)",
|
||||
null,
|
||||
"l'inizializzazione non è costante",
|
||||
"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 costruttori, distruttori o routine con tipo restituito void",
|
||||
"l'attributo 'nodiscard' non può essere applicato 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",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"non è possibile specificare __has_include all'esterno di #if",
|
||||
"non è stato possibile aggiungere la classe di base CComCoClass",
|
||||
"non è una stringa con terminazione Null",
|
||||
"non è possibile usare il tipo non scalare %t in una chiamata al distruttore vuota",
|
||||
"non è possibile usare il tipo non scalare %t in una chiamata allo pseudodistruttore",
|
||||
"l'indirizzo di 'weak' %n non è costante",
|
||||
"sono presenti troppe sostituzioni ricorsive delle firme del modello di funzione",
|
||||
"l'identificatore non è valido per la dichiarazione di binding strutturato",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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à",
|
||||
"gli spazi dei nomi annidati di tipo C++17 non sono standard in questa modalità",
|
||||
"una dichiarazione non può contenere sia 'constexpr' che 'consteval'",
|
||||
"una dichiarazione può contenere solo una tra le variabili 'constexpr', 'consteval' e 'constinit'",
|
||||
"una funzione non può essere contemporaneamente consteval e virtual in questa modalità",
|
||||
"'consteval' non è consentito in una direttiva di creazione esplicita di un'istanza",
|
||||
"'consteval' non è valido in questo punto",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"l'attributo 'internal_linkage' non era presente in una dichiarazione precedente",
|
||||
"non è stato trovato alcun candidato di deduzione dell'argomento di modello valido per %n",
|
||||
"una chiamata al costruttore completo non è consentita",
|
||||
"un operatore di confronto può essere impostato come predefinito solo in una definizione di classe",
|
||||
"l'operatore di confronto impostato come predefinito deve essere un membro o un elemento friend della classe a cui si applica",
|
||||
"il tipo %t per il parametro dell'operatore di confronto impostato come predefinito non è valido. Deve essere 'reference to const X' dove X è il tipo della classe contenitore",
|
||||
"il tipo restituito dell'operatore di confronto impostato come predefinito deve essere 'bool'",
|
||||
"un operatore di confronto membri impostato come predefinito non può essere 'const'",
|
||||
"in questa classe sono stati definiti più operatori di confronto combinato impostati come predefiniti",
|
||||
null,
|
||||
"non è possibile impostare sia 'return_void' che 'return_value' per il tipo di promessa %t di una coroutine",
|
||||
"'return_value' ha dichiarato %p",
|
||||
"'return_void' ha dichiarato %p",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"l'attributo 'ext_vector_type' si applica solo a tipi interi o a virgola mobile",
|
||||
"questa macro di test delle funzionalità viene ignorata (e restituisce 0) nella modalità di compilazione corrente",
|
||||
"non è possibile valutare un inizializzatore di aggregazione con più elementi per un'unione",
|
||||
"l'elemento %nd selezionato per la riscrittura dell'operatore non restituisce il tipo bool",
|
||||
"un'espressione expr.new che chiama una funzione di allocazione specifica della classe non può essere valutata in un'espressione costante",
|
||||
"un'espressione new di posizionamento non può essere valutata in un'espressione costante",
|
||||
"per l'eliminazione tramite un puntatore a sotto-oggetto è richiesto un distruttore virtuale",
|
||||
"%npTd, con argomenti invertiti",
|
||||
"l'operando di __INTADDR__ deve essere scostato dal puntatore Null",
|
||||
"Il costrutto _generico corrisponde a più tipi",
|
||||
"l'altra corrispondenza è %t",
|
||||
"l'attributo 'availability' usato in questo punto viene ignorato",
|
||||
"l'istruzione di inizializzatore di tipo C++20 in un'istruzione 'for' basata su intervallo non è standard in questa modalità",
|
||||
"co_await può essere applicato solo a un'istruzione for basata su intervallo",
|
||||
"non è possibile dedurre il tipo dell'intervallo nel ciclo 'for' basato su intervallo",
|
||||
"le variabili inline sono una funzionalità di C++17",
|
||||
"per l'eliminazione dell'operatore di eliminazione definitiva è necessario specificare %t come primo parametro",
|
||||
"per l'eliminazione di un operatore di eliminazione definitiva non è possibile specificare parametri diversi da std::size_t e std::align_val_t",
|
||||
"è possibile usare le opzioni di classe astratta di tipo relaxed solo quando si esegue la compilazione nel linguaggio C++",
|
||||
"l'inizio dell'espressione non è valido nella clausola requires",
|
||||
"un'espressione cast in una clausola requires deve essere racchiusa tra parentesi",
|
||||
"non è possibile specificare questo operatore al primo livello (senza parentesi) in una clausola requires",
|
||||
"il vincolo atomico deve essere di tipo bool",
|
||||
"la sostituzione del vincolo atomico non è riuscita",
|
||||
"il vincolo atomico non è costante",
|
||||
"il vincolo atomico restituisce false",
|
||||
"il vincolo del modello non è soddisfatto",
|
||||
"la definizione del concetto non può essere presente in questo ambito",
|
||||
"la ridichiarazione di %nd non è valida",
|
||||
"la sostituzione degli argomenti %T per l'ID concetto non è riuscita",
|
||||
"il concetto è false per gli argomenti %T",
|
||||
"in questo punto non sono consentite clausole requires (non è una funzione basata su modelli)",
|
||||
"modello di concetto",
|
||||
"la clausola requires non è compatibile con %nfd",
|
||||
"è previsto un attributo",
|
||||
null,
|
||||
"è previsto un nome di tipo",
|
||||
"in un'espressione requires non sono consentiti parametri con puntini di sospensione",
|
||||
"il parametro senza nome nell'espressione requires non ha alcun effetto",
|
||||
"è previsto un nome di concetto",
|
||||
"la chiamata a %s presente in un'espressione costante restituisce sempre 'true'",
|
||||
"la chiamata a %s presente in un contesto consteval restituisce sempre 'true'",
|
||||
"la chiamata a %s presente in una funzione non constexpr restituisce sempre 'false'",
|
||||
"vincolo di tipo non riuscito per %t",
|
||||
"non è possibile usare l'opzione 'export' in modalità in cui sono abilitati i moduli C++",
|
||||
"una dichiarazione di frammento di modulo globale deve precedere qualsiasi altra dichiarazione",
|
||||
"una dichiarazione di modulo può essere preceduta solo da un frammento di modulo globale",
|
||||
"un frammento di modulo privato deve essere preceduto da una dichiarazione di modulo",
|
||||
"non è possibile esportare un frammento di modulo %s",
|
||||
"non è possibile dichiarare più di un modulo",
|
||||
"non è possibile dichiarare più di un frammento di modulo %s",
|
||||
"è necessario dichiarare un modulo con un nome non vuoto",
|
||||
"%sq non è un'intestazione importabile",
|
||||
"non è possibile importare un modulo senza nome",
|
||||
"un modulo non può avere una dipendenza di interfaccia impostata su se stesso",
|
||||
"il modulo %sq è già stato importato",
|
||||
"file di modulo",
|
||||
"non è stato possibile trovare il file di modulo %sq per l'importazione",
|
||||
"non è stato possibile importare il file di modulo %sq"
|
||||
"non è stato possibile trovare il file di modulo per il modulo %sq",
|
||||
"non è stato possibile importare il file di modulo %sq",
|
||||
"è previsto %s1, ma è stato trovato %s2",
|
||||
"durante l'apertura del file di modulo %sq",
|
||||
"il nome di partizione %sq è sconosciuto",
|
||||
"un file di modulo sconosciuto",
|
||||
"un file di modulo intestazione importabile",
|
||||
"un file di modulo EDG",
|
||||
"un file di modulo IFC",
|
||||
"un file di modulo imprevisto",
|
||||
"il tipo del secondo operando %t2 deve avere le stesse dimensioni di %t1",
|
||||
"il tipo deve essere facilmente copiabile",
|
||||
"il tipo %t non è attualmente supportato per la valutazione constexpr di __builtin_bit_cast",
|
||||
"i tipi di classe con campi di bit %t non sono attualmente supportati per la valutazione constexpr di __builtin_bit_cast",
|
||||
"il membro dati non statico del tipo riferimento %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"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",
|
||||
"%n deve restituire void",
|
||||
"l'inizio della dichiarazione di membro non è valido",
|
||||
"è previsto 'auto'",
|
||||
"questo operatore non è consentito in questo punto. Racchiudere tra parentesi l'espressione new precedente",
|
||||
"uso del concetto non valido",
|
||||
"un operatore di confronto membri impostato come predefinito non può essere qualificato con '&&'",
|
||||
"la funzione di confronto constexpr predefinita chiama la funzione non constexpr %nd",
|
||||
"il confronto di memoria constexpr è supportato solo per gli oggetti intero o matrice di interi",
|
||||
"un modello di concetto non può avere vincoli associati",
|
||||
"'export' non è consentito",
|
||||
"l'esportazione di singoli membri di classe non è consentita",
|
||||
"una dichiarazione esportata deve introdurre un nome",
|
||||
"una dichiarazione di esportazione non può contenere una dichiarazione di esportazione (dichiarazione precedente %p)",
|
||||
"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",
|
||||
"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",
|
||||
"con la variabile constinit è richiesta l'inizializzazione dinamica",
|
||||
"la variabile è stata dichiarata in precedenza con 'constinit' alla posizione %p",
|
||||
"uso del dichiaratore di funzione non prototipo",
|
||||
"l'argomento non può avere un tipo qualificato da const",
|
||||
"non è consentito un puntatore a membro di un tipo incompleto %t",
|
||||
"l'espansione del pacchetto in init-capture non è abilitata in questa modalità",
|
||||
"l'espansione del pacchetto in init-capture è una funzionalità di C++20",
|
||||
"un operatore di confronto impostato come predefinito in una definizione di classe deve essere la prima dichiarazione di tale operatore di confronto (%nd)",
|
||||
"un'espansione di pacchetto in init-capture può essere usata solo in un modello variadic",
|
||||
"il vincolo di tipo usa %nd che non è un concetto di tipo, ad esempio un modello di concetto il cui primo parametro è un parametro di tipo",
|
||||
"il tipo di segnaposto dedotto %t non soddisfa il vincolo di tipo",
|
||||
"il costruttore predefinito per %t non è idoneo",
|
||||
"il distruttore per %t è ambiguo a causa di vincoli non ordinati",
|
||||
"il distruttore per %t non è idoneo a causa di vincoli non soddisfatti",
|
||||
"candidato di distruttore ambiguo",
|
||||
"una funzione virtuale non può includere una clausola requires finale",
|
||||
"%nd non soddisfa i vincoli",
|
||||
"il risultato del qualificatore decltype %t non è una classe o un'enumerazione",
|
||||
"il confronto è ambiguo in C++20 standard perché l'operatore di confronto implicito con parametri invertiti è una corrispondenza altrettanto valida. In genere questo problema dipende dalla mancanza di un qualificatore 'const' nell'operatore di confronto. Vedere %nod",
|
||||
"ID concetto non valido",
|
||||
"la sostituzione degli argomenti %T per la clausola requires non è riuscita",
|
||||
"i vincoli per %nd non sono soddisfatti",
|
||||
"il tipo di variabile %t nella funzione constexpr contiene classi di base virtuali",
|
||||
"un'espressione costante non può allocare un sotto-oggetto di base virtuale (per il tipo %t)",
|
||||
"un parametro di modello di tipo classe deve essere un tipo classe strutturale",
|
||||
"per il supporto dei valori letterali UTF-8 è richiesto il supporto di valori letterali u",
|
||||
"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",
|
||||
"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",
|
||||
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)",
|
||||
"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 di 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"
|
||||
]
|
||||
@@ -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 が使用されています",
|
||||
"古い形式の代入演算子",
|
||||
"古い形式の初期化子",
|
||||
"式は整数定数式である必要があります",
|
||||
@@ -171,7 +171,7 @@
|
||||
"宣言が必要です",
|
||||
"ポインターが基になるオブジェクトの外部を指しています",
|
||||
"無効な型変換です",
|
||||
"外部/内部リンケージが以前の宣言と競合しています",
|
||||
"外部または内部のリンケージが以前の宣言 %p と競合しています",
|
||||
"浮動小数点値が必要な整数型では不適切です",
|
||||
"式が無効です",
|
||||
"添字が有効範囲にありません",
|
||||
@@ -352,8 +352,8 @@
|
||||
"複数の演算子 %sq がこれらのオペランドと一致します:",
|
||||
"割り当て関数の最初のパラメーターは型 'size_t' である必要があります",
|
||||
"割り当て関数には 'void *' 戻り値の型が必要です",
|
||||
"解放関数には 'void' 戻り値の型が必要です",
|
||||
"解放関数の最初のパラメーターは型 'void *' である必要があります",
|
||||
"割り当て解除関数には 'void' 戻り値の型が必要です",
|
||||
"割り当て解除関数の最初のパラメーターは型 'void *' である必要があります",
|
||||
null,
|
||||
"型はオブジェクト型である必要があります",
|
||||
"基底クラス %t は既に初期化されています",
|
||||
@@ -392,7 +392,7 @@
|
||||
"関数 'main' を呼び出すこと、またはそのアドレスを取得することはできません",
|
||||
"配列に対して新しい初期化子を指定することはできません",
|
||||
"メンバー関数 %no をそのクラスの外側で再宣言することはできません",
|
||||
"不完全クラス型へのポインターは使用できません",
|
||||
"不完全クラス型 %t へのポインターは使用できません",
|
||||
"外側の関数のローカル変数への参照は許可されていません",
|
||||
"単一引数関数が後置 %sq に使用されています (旧形式)",
|
||||
null,
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t から組み込み型への変換関数が複数適用されます:",
|
||||
"const %n",
|
||||
"参照 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"組み込み演算子 %sq",
|
||||
"%no (継承によりあいまいです)",
|
||||
"%nod (継承によりあいまいです)",
|
||||
"コンストラクターまたはデストラクターのアドレスは取得できません",
|
||||
null,
|
||||
"非 const への参照の初期値用に一時的に使用されます (旧形式)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"かっこで囲まれた初期化子の後にある変数属性は無視されます",
|
||||
"このキャストの結果は左辺値として使用できません",
|
||||
"符号なし固定小数点値の否定です",
|
||||
"この演算子はこの位置では使用できません (かっこを使用してください)",
|
||||
null,
|
||||
null,
|
||||
"レジスタ名はレジスタ変数に対してのみ使用できます",
|
||||
"名前付きレジスタ変数に void 型を使用することはできません",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"再定義できない無効な値です",
|
||||
"関数修飾子が重複しています",
|
||||
"char16_t リテラルには無効な文字です",
|
||||
"__LPREFIX は char8_t、char16_t、または char32_t リテラルに適用できません",
|
||||
null,
|
||||
"呼び出し規約 %s は認識されないため、次のいずれかを使用する必要があります:",
|
||||
null,
|
||||
null,
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"コンストラクターまたはデストラクターでは型修飾子は使用できません",
|
||||
"演算子 new または演算子 delete では型修飾子は使用できません",
|
||||
"メンバー以外の関数では型修飾子は使用できません",
|
||||
"副作用のある __assume 式は破棄されます",
|
||||
"%s への引数には副作用がありますが未評価です",
|
||||
"認識されない Unicode ソースの種類です (UTF-8、UTF-16、UTF-16LE、または UTF-16BE のいずれかである必要があります): %s",
|
||||
"16 進数値 %s の Unicode 文字が出力の前処理において表示されません",
|
||||
"要求されたコンストラクター/デストラクターの優先順位は内部使用のために予約済みです",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"現在の関数スコープ外のローカル変数はキャプチャできません",
|
||||
"外側の関数の 'this' は、キャプチャ リストに含まれていない限り、ラムダ本体で参照できません",
|
||||
null,
|
||||
"ラムダでキャプチャされた型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
|
||||
"ラムダでキャプチャした型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
|
||||
"無効なテンプレート ディレクトリ: %s",
|
||||
"エラー",
|
||||
"件のエラー",
|
||||
@@ -2065,7 +2065,7 @@
|
||||
"戻り値の型 cli::pin_ptr は使用できません",
|
||||
"属性 %sq は %[C++/CLI] モードでのみ適用されます",
|
||||
"単純 (非追跡) 参照はマネージド ヒープ上のエンティティにバインドできません",
|
||||
"ポータブル アセンブリ",
|
||||
"移植可能なアセンブリ",
|
||||
"'%s' は既定のアセンブリから読み込まれません",
|
||||
"リスト初期化構文は C++11 の機能です",
|
||||
"sizeof のオペランドは ref クラス型やインターフェイス クラス型であってはなりません",
|
||||
@@ -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 クラス型またはインターフェイス クラス型を持つことができません",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"std::initializer_list を使用する (暗黙的な使用を含む) 前に #include <initializer_list> が必要です",
|
||||
"'inline' キーワードは、名前空間のエイリアス宣言では使用できません",
|
||||
"%n の前の宣言は、インラインで宣言されていませんでした",
|
||||
"インライン %n の再宣言はインラインで宣言する必要があります",
|
||||
"%n は、以前にインラインで宣言されました",
|
||||
"最初の引数は整数の定数である必要があります",
|
||||
"指定子と非集約型 %t は同時に使用できません",
|
||||
"匿名共用体メンバーの指定子は、その匿名共用体に対応する中かっこ内でのみ使用できます",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr コンストラクターは、直接的な基底クラス %t を初期化する必要があります",
|
||||
"フィールド初期化子に std::initializer_list オブジェクトを作成すると、正しく動作しない可能性があります。基になる配列が式全体の最後で破棄されます。",
|
||||
"'this' は定数式では使用できません",
|
||||
"この共用体型では空の初期化子は無効です (初期化する必要があるメンバーがあいまいです)",
|
||||
null,
|
||||
"明示的なインスタンス化ディレクティブでは 'constexpr' を使用できません",
|
||||
"循環依存の関係が原因で、既定のコンストラクターの例外指定を特定できません",
|
||||
"無名共用体で %p が定義されました",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t に対する修飾子が無効です (ここでは派生クラスを使用できません)",
|
||||
"'always_inline' 属性は、非インライン関数では無視されます",
|
||||
"継承しているコンストラクターは、直接基底クラスから継承される必要があります",
|
||||
"%np が既に %t から継承されています",
|
||||
null,
|
||||
"ラベルが必要です",
|
||||
"'%%l' の後にオペランド番号が必要です",
|
||||
"'%%l' のオペランド番号は、有効なラベルの引数を参照していません",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"削除された関数は C++11 の機能です",
|
||||
"既定値にされた関数は C++11 の機能です",
|
||||
"ストレージ クラスは明示的特殊化では許可されません ",
|
||||
"%t はクラスまたはスコープを持つ列挙型ではありません",
|
||||
null,
|
||||
"スコープを持たない列挙型が特殊化になるには、あいまいである必要があります",
|
||||
"列挙テンプレート宣言は、クラス テンプレートの以前宣言されたメンバーを参照している必要があります",
|
||||
"ベクトル オペランドが必要です",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"co_await 式は catch 句内では使用できません",
|
||||
"コルーチンには省略記号のパラメーターを使用できません",
|
||||
"C++14 スタイルの constexpr を有効にするには、'bool' へのサポートが必要です",
|
||||
"constexpr 関数 %nd が定義されていません",
|
||||
"constexpr %nd が定義されていません",
|
||||
"ターゲット関数 %nd が constexpr でない、またはまだ完全に定義されていないため、この呼び出しを評価できません",
|
||||
"メモ",
|
||||
"メモ",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"変数に不完全な型 %t を含めることはできません",
|
||||
"初期化されていないサブオブジェクト (%n) へのアクセス",
|
||||
"初期化されていないサブオブジェクト (基底クラス %t) へのアクセス",
|
||||
"無意味なデストラクター呼び出し",
|
||||
"定数式では擬似デストラクター呼び出しは許可されていません",
|
||||
"const ストレージを変更しようとしました",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"ベクトル要素の型は、整数型、列挙型、または実数の浮動小数点型である必要があります",
|
||||
"128 ビットの整数がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"ベクトル型がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"2 つの連続した左角かっこは、属性リストを導入するためにのみ使用できます",
|
||||
"2 つの連続した左角かっこは常に属性リストを導入するために使用されますが、こちらには属性リストを表示できません",
|
||||
"認識されていない 'ターゲット' 属性は、リゾルバー ルーチンがこのルーチンを使用できないようにします",
|
||||
"%t はベクトル型ではありません",
|
||||
"ベクトル型 %t1 と %t2 の長さは同じでなければなりません",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"値クラスでは既定のメンバー初期化子は許可されていません",
|
||||
"'--implicit_noexcept' では、noexcept が有効なモードが必要です",
|
||||
"仮想基底クラス (%t) が関係する操作は折りたためません",
|
||||
null,
|
||||
"初期化が定数ではありません",
|
||||
"不完全な %t の値は評価できません",
|
||||
"'nodiscard' 属性で宣言されたルーチンからの戻り値を無視しています",
|
||||
"'nodiscard' 属性を持つ戻り値の型を無視しています",
|
||||
"'nodiscard' 属性は、コンストラクター、デストラクター、戻り値の型が void のルーチンには適用されません",
|
||||
"'nodiscard' 属性は、デストラクターまたは戻り値の型が void のルーチンには適用されません",
|
||||
"'fallthrough' 属性は、null ステートメントにのみ適用されます",
|
||||
"'fallthrough' 属性は、外側の switch ステートメントでのみ使用できます",
|
||||
"fallthrough ステートメントは、switch case ラベルまたは default の前に記述しなければなりません",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include を #if の外側で使用することはできません",
|
||||
"CComCoClass 基底クラスを追加できませんでした",
|
||||
"null で終了していない文字列です",
|
||||
"非スカラー型 %t を無意味なデストラクター呼び出しで使うことはできません",
|
||||
"非スカラー型 %t を擬似デストラクター呼び出しで使うことはできません",
|
||||
"'weak' %n のアドレスが定数ではありません",
|
||||
"関数テンプレート シグネチャの再帰的な代入が多すぎます",
|
||||
"構造化バインディング宣言の指定子が無効です",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>' が必要です",
|
||||
"__cudaPushCallConfiguration 宣言が見つかりません。CUDA Toolkit のインストールが破損しているおそれがあります。",
|
||||
"C++17 スタイルの初期化子はこのモードでは非標準です",
|
||||
"*this のキャプチャはこのモードでは非標準です",
|
||||
"C++17 スタイルの 'using' 属性プレフィックスはこのモードでは非標準です",
|
||||
"C++17 スタイルの入れ子になった名前空間はこのモードでは非標準です",
|
||||
"宣言で 'constexpr' および 'consteval' の両方を使用することはできません",
|
||||
"宣言で使用できるのは、'constexpr'、'consteval'、および 'constinit'のうちの 1 つのみです",
|
||||
"このモードでは、関数に consteval と virtual の両方を指定することはできません",
|
||||
"明示的なインスタンス化ディレクティブでは 'consteval' を使用できません",
|
||||
"ここでは 'consteval' は無効です",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"'internal_linkage' 属性は、前の宣言では使用されませんでした",
|
||||
"%n の有効なテンプレート引数演繹候補が見つかりませんでした",
|
||||
"完全修飾コンストラクターの呼び出しは許可されていません",
|
||||
"比較演算子は、クラス定義でのみ既定値にすることができます",
|
||||
"既定の比較演算子は、適用先のクラスのメンバーまたはフレンドでなければなりません。",
|
||||
"既定の比較演算子のパラメーターの型 %t が正しくありません ('const X' への参照でなければなりません。X は、囲むクラスの型です)",
|
||||
"既定の比較演算子の戻り値の型は 'bool' である必要があります",
|
||||
"既定のメンバー比較演算子は 'const' である必要があります",
|
||||
"このクラスには複数の既定の \"宇宙船\" 演算子が定義されています",
|
||||
null,
|
||||
"コルーチンの promise 型 %t で、'return_void' と 'return_value' の両方を設定することはできません",
|
||||
"'return_value' は %p で宣言しました",
|
||||
"'return_void' は %p を宣言しました",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"'ext_vector_type' 属性は、整数型または浮動小数点型にのみ適用されます",
|
||||
"この機能テスト マクロは、現在のコンパイル モードでは無視されます (0 が返されます)",
|
||||
"共用体の複数の要素を含む集約初期化子を評価できません",
|
||||
"演算子の書き換えに選択された %nd は、bool 型を返しません",
|
||||
"クラス固有の割り当て関数を呼び出す new-expression を定数評価することはできません",
|
||||
"配置 new の式を定数評価することはできません",
|
||||
"サブオブジェクト ポインターを使用して削除するには仮想デストラクターが必要です",
|
||||
"%npTd (逆引数が含まれます)",
|
||||
"__INTADDR__ のオペランドは null ポインターからのオフセットでなければなりません",
|
||||
"ジェネリック コンストラクトが複数の型と一致する(_G)",
|
||||
"もう一方の一致は %t です",
|
||||
"ここで使用されている 'availability' 属性は無視されます",
|
||||
"範囲ベースの 'for' ステートメントにある C++20 形式の初期化子ステートメントは、このモードでは非標準です",
|
||||
"co_await は範囲ベースの for ステートメントにのみ適用できます",
|
||||
"範囲ベースの 'for' ループの範囲の種類を推測できません",
|
||||
"インライン変数は C++17 の機能です",
|
||||
"destroying operator delete には、最初のパラメーターとして %t が必要です",
|
||||
"destroying operator delete に、std::size_t および std::align_val_t 以外のパラメーターを指定することはできません",
|
||||
"緩和された抽象クラス オプションは C++ をコンパイルするときにのみ使用できます",
|
||||
"requires 句の式の先頭が無効です",
|
||||
"requires 句内のキャスト式はかっこで囲む必要があります",
|
||||
"この演算子は、requires 句のトップ レベル (かっこなし) では使用できません",
|
||||
"原子制約にはブール型を指定する必要があります",
|
||||
"原子制約で置換に失敗しました",
|
||||
"原子制約は定数ではありません",
|
||||
"原子制約は false として評価されます",
|
||||
"テンプレート制約が満たされていません",
|
||||
"このスコープにコンセプトの定義を指定することはできません",
|
||||
"%nd の再宣言が無効です",
|
||||
"概念 ID の引数 %Tの置換に失敗しました",
|
||||
"引数 %T の概念は false です",
|
||||
"こちらでは requires 句は許可されていません (テンプレート関数ではありません)",
|
||||
"コンセプト テンプレート",
|
||||
"requires 句は %nfd と互換性がありません",
|
||||
"属性が必要です",
|
||||
null,
|
||||
"型名が必要です",
|
||||
"requires 式では省略記号パラメーターは許可されていません",
|
||||
"requires 式に名前のないパラメーターを指定しても効果がありません",
|
||||
"コンセプト名が必要です",
|
||||
"定数式で表示される %s への呼び出しでは、常に 'true' が生成されます",
|
||||
"consteval コンテキストで現れる %s への呼び出しでは、常に 'true' が生成されます",
|
||||
"constexpr ではない関数に現れる %s への呼び出しでは、常に 'false' が生成されます",
|
||||
"%t の型の制約に失敗しました",
|
||||
"オプション 'export' は C++ モジュールが有効になっているモードでは使用できません",
|
||||
"グローバル モジュール フラグメント宣言は他の宣言の前に記述する必要があります",
|
||||
"モジュール宣言の前にはグローバル モジュール フラグメントのみを指定できます",
|
||||
"プライベート モジュール フラグメントの前にはモジュール宣言を指定しなければなりません",
|
||||
"%s モジュールのフラグメントはエクスポートできません",
|
||||
"複数のモジュールを宣言することはできません",
|
||||
"複数の %s モジュール フラグメントを宣言することはできません",
|
||||
"モジュールは、空でない名前を使用して宣言する必要があります",
|
||||
"%sq は、インポート可能なヘッダーではありません",
|
||||
"名前が指定されていないモジュールをインポートすることはできません",
|
||||
"モジュールはそれ自体に対するインターフェイス依存関係を持つことはできません",
|
||||
"モジュール %sq は既にインポートされています",
|
||||
"モジュール ファイル",
|
||||
"インポート用のモジュール ファイル %sq が見つかりませんでした",
|
||||
"モジュール ファイル %sq をインポートできませんでした"
|
||||
"モジュール %sq のモジュール ファイルが見つかりませんでした",
|
||||
"モジュール ファイル %sq をインポートできませんでした",
|
||||
"%s1 が必要ですが、%s2 が見つかりました",
|
||||
"モジュール ファイル %sq を開くとき",
|
||||
"不明なパーティション名 %sq",
|
||||
"不明なモジュール ファイル",
|
||||
"インポート可能なヘッダー モジュール ファイル",
|
||||
"EDG モジュール ファイル",
|
||||
"IFC モジュール ファイル",
|
||||
"予期しないモジュール ファイル",
|
||||
"第 2 オペランド %t2 の型は、%t1 と同じサイズである必要があります",
|
||||
"型は普通にコピー可能である必要があります",
|
||||
"型 %t は、現在、__builtin_bit_cast の constexpr 評価ではサポートされていません",
|
||||
"ビットフィールド %t を含むクラス型は、現在、__builtin_bit_cast の constexpr 評価ではサポートされていません",
|
||||
"参照型 %t の静的でないデータ メンバーは、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"volatile 型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"UNION、ポインター、またはメンバーへのポインター型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"%npTd (宣言 %p を使用して継承されています)",
|
||||
"コンストラクターを継承するための %t のサブオブジェクト構築は実行できません。暗黙の既定のコンストラクターは削除されます",
|
||||
"%n は void を返す必要があります",
|
||||
"メンバー宣言の先頭が無効です",
|
||||
"'auto' が必要です",
|
||||
"この演算子はこの時点では許可されていません。先行する新しい式をかっこで囲んでください",
|
||||
"概念が正しく使用されていません",
|
||||
"既定のメンバー比較演算子を '&&' で修飾することはできません",
|
||||
"既定の constexpr 比較関数は、constexpr ではない関数 %nd を呼び出します",
|
||||
"constexpr のメモリ比較は、整数または整数の配列オブジェクトでのみサポートされています",
|
||||
"概念テンプレートに関連する制約を持たせることはできません",
|
||||
"[エクスポート] は許可されていません",
|
||||
"個別のクラス メンバーのエクスポートは許可されていません",
|
||||
"エクスポートされた宣言は名前を導入する必要があります",
|
||||
"エクスポート宣言にエクスポート宣言を含めることはできません (前の宣言 %p)",
|
||||
"エクスポート宣言にモジュール インポート宣言を含めることはできません",
|
||||
"エクスポート宣言はモジュール インターフェイス ユニットでのみ使用できます",
|
||||
"エクスポート宣言では、内部リンケージを含む名前をエクスポートできません",
|
||||
"using 宣言には %nfd が含まれます",
|
||||
"fp16 の浮動小数点型がサポートされていないので、ビルトイン関数を使用できません(__F)",
|
||||
"requires 式には少なくとも 1 つの要件を指定する必要があります",
|
||||
"ここでは 'constinit' は無効です",
|
||||
"'constinit' は、静的またはスレッド ストレージ存続期間を持つ変数の宣言にのみ有効です",
|
||||
"constinit 変数には動的な初期化が必要です",
|
||||
"変数は、以前に 'constinit' %p で宣言されました",
|
||||
"プロトタイプ以外の関数宣言子の使用",
|
||||
"引数に const 修飾型を指定することはできません",
|
||||
"不完全な型 %t のメンバーへのポインターは使用できません",
|
||||
"初期化キャプチャのパック展開はこのモードでは有効ではありません",
|
||||
"初期化キャプチャのパック展開は C++20 の機能です",
|
||||
"クラス定義で既定値にされた比較演算子は、その比較演算子の最初の宣言でなければなりません (%nd)",
|
||||
"初期化キャプチャのパック展開は、可変個引数テンプレートでのみ使用できます",
|
||||
"型制約は型概念ではない %nd を使用します (例: 最初のパラメーターが型パラメーターである概念テンプレート)",
|
||||
"推測されるプレースホルダーの型 %t が型制約に失敗しました",
|
||||
"%t の既定のコンストラクターは適切ではありません",
|
||||
"制約の順序が指定されていないため、%t のデストラクターがあいまいです",
|
||||
"制約が失敗したため、%t のデストラクターは適切ではありません",
|
||||
"あいまいなデストラクター候補",
|
||||
"仮想関数では後続の Requires 句は使用できません",
|
||||
"%nd は制約を満たしていません",
|
||||
"decltype 修飾子 %t の結果はクラスまたは列挙ではありません",
|
||||
"標準 C++ 20 では、パラメーターが反転した暗黙的な比較演算子が同程度に適合するため、比較はあいまいです。これは通常、比較演算子の 'const' 修飾子がない場合に発生します。%nod を参照してください",
|
||||
"無効な概念 ID",
|
||||
"Requires 句の引数 %T の置換に失敗しました",
|
||||
"%nd の制約が満たされていません",
|
||||
"constexpr 関数の変数の型 %t に仮想基底クラスが含まれています",
|
||||
"定数式では、仮想ベースのサブオブジェクト (型 %t) の割り当てを行うことはできません",
|
||||
"クラス型のテンプレート パラメーターは、構造クラス型である必要があります",
|
||||
"UTF-8 リテラルのサポートには、u リテラルのサポートが必要です。",
|
||||
"'%s' のモジュール ファイル マッピングが 2 回以上指定されました",
|
||||
"'%s' のヘッダー単位のマッピングが 2 回以上指定されました",
|
||||
"'%s' にマッピングが指定されていません",
|
||||
"'%s' のモジュール ファイル マッピングが無効です",
|
||||
"インポートするヘッダー '%s' が見つかりません",
|
||||
"モジュール ファイル リスト内の複数のファイルが '%s' と一致しています",
|
||||
"'%s' に対して見つかったモジュール ファイルは別のモジュール用です",
|
||||
"あらゆる種類のモジュール ファイル",
|
||||
"モジュール ファイルを読み取れません",
|
||||
"現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません",
|
||||
null,
|
||||
"既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用",
|
||||
"memcpy に似た組み込み関数のソースやターゲットでオブジェクトが指定されていません",
|
||||
"memcpy に似た組み込み関数により、表現上個別の型である %t1 と %t2 のコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、普通にコピーすることができない型 %t のコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、部分的なオブジェクトのコピーが試行されます",
|
||||
"memcpy に似た組み込み関数により、配列の境界を越えたコピーが試行されます",
|
||||
"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 のインポートはスキップされました"
|
||||
]
|
||||
@@ -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 형식이 있음",
|
||||
"더 이상 사용되지 않는 대입 연산자",
|
||||
"더 이상 사용되지 않는 이니셜라이저",
|
||||
"식은 정수 계열 상수 식이어야 합니다.",
|
||||
@@ -171,7 +171,7 @@
|
||||
"선언이 필요합니다.",
|
||||
"포인터가 내부 개체를 벗어난 범위를 가리킵니다.",
|
||||
"잘못된 형식 변환입니다.",
|
||||
"외부/내부 연결이 이전 선언과 충돌합니다.",
|
||||
"외부/내부 연결이 이전 선언 %p과(와) 충돌함",
|
||||
"부동 소수점 값이 필요한 정수 계열 형식에 맞지 않습니다.",
|
||||
"의미 없는 식입니다.",
|
||||
"첨자가 범위를 벗어났습니다.",
|
||||
@@ -392,7 +392,7 @@
|
||||
"함수 'main'을 호출할 수 없거나 해당 주소를 가져올 수 없습니다.",
|
||||
"배열에 대해 새 이니셜라이저를 지정할 수 없습니다.",
|
||||
"멤버 함수 %no을(를) 해당 클래스 외부에서 다시 선언할 수 없습니다.",
|
||||
"불완전한 클래스 형식에 대한 포인터는 사용할 수 없습니다.",
|
||||
"불완전한 클래스 형식 %t에 대한 포인터는 사용할 수 없음",
|
||||
"바깥쪽 함수의 지역 변수에 대한 참조를 사용할 수 없습니다.",
|
||||
"후위 %sq에 단일 인수 함수가 사용되었습니다(오래된 구문).",
|
||||
null,
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t에서 기본 제공 형식으로 적용되는 변환 함수가 두 개 이상입니다.",
|
||||
"상수 %n",
|
||||
"참조 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"기본 제공 연산자 %sq",
|
||||
"%no(상속에 의해 모호함)",
|
||||
"%nod, 상속에 의해 모호함",
|
||||
"생성자 또는 소멸자가 해당 주소를 가져올 수 없습니다.",
|
||||
null,
|
||||
"비const 참조에 대한 초기 값으로 임시 사용(오래된 구문)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"괄호로 묶인 이니셜라이저 다음에 나타나는 변수 특성은 무시됩니다.",
|
||||
"이 캐스트의 결과를 lvalue로 사용할 수 없습니다.",
|
||||
"부호 없는 고정 소수점 값의 부정",
|
||||
"이 지점에 이 연산자를 사용할 수 없습니다. 괄호를 사용하십시오.",
|
||||
null,
|
||||
null,
|
||||
"레지스터 이름은 레지스터 변수에만 사용할 수 있습니다.",
|
||||
"명명된 레지스터 변수에는 void 형식을 사용할 수 없습니다.",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"다시 정의할 수 없는 값이 잘못되었습니다.",
|
||||
"중복된 함수 한정자",
|
||||
"char16_t 리터럴에 대한 잘못된 문자",
|
||||
"__LPREFIX를 char8_t, char16_t 또는 char32_t 리터럴에 적용할 수 없습니다.",
|
||||
null,
|
||||
"인식할 수 없는 호출 규칙 %s, 다음 중 하나여야 함:",
|
||||
null,
|
||||
null,
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"생성자 또는 소멸자에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"operator new 또는 operator delete에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"비멤버 함수에서 형식 한정자를 사용할 수 없습니다.",
|
||||
"파생 효과가 있는 __assume 식이 무시되었습니다.",
|
||||
"%s에 대한 인수는 파생 작업이 있지만 계산되지 않음",
|
||||
"인식할 수 없는 유니코드 소스 종류(UTF-8, UTF-16, UTF-16LE, UTF-16BE 중 하나여야 함): %s",
|
||||
"16진수 값 %s의 유니코드 문자를 전처리 출력에서 표현할 수 없습니다.",
|
||||
"요청된 생성자/소멸자 우선 순위는 내부용으로 예약되어 있습니다.",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"현재 함수 범위 바깥쪽에 있는 지역 변수를 캡처할 수 없습니다.",
|
||||
"바깥쪽 함수 'this'는 캡처 목록에 있지 않는 한 람다 본문에서 참조할 수 없습니다.",
|
||||
null,
|
||||
"%t1 형식의 람다 캡처 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
|
||||
"%t1 형식의 람다 캡처된 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
|
||||
"잘못된 템플릿 디렉터리: %s",
|
||||
"오류",
|
||||
"오류",
|
||||
@@ -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 클래스 형식 또는 인터페이스 클래스 형식일 수 없습니다.",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list>는 std::initializer_list의 사용(암시적 사용 포함) 전에 필요합니다.",
|
||||
"'inline' 키워드는 네임스페이스 별칭 선언에 사용할 수 없습니다.",
|
||||
"%n의 이전 선언이 인라인으로 선언되지 않았습니다.",
|
||||
"인라인 %n의 재선언은 인라인으로 선언되어야 합니다.",
|
||||
"%n이(가) 이전에 인라인으로 선언됨",
|
||||
"첫 번째 인수는 정수 상수여야 합니다.",
|
||||
"지정자는 비집계 형식 %t과(와) 함께 사용할 수 없습니다.",
|
||||
"익명 공용 구조체 멤버의 지정자는 익명 공용 구조체에 해당하는 중괄호 내에만 표시될 수 있습니다.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr 생성자는 직접 기본 클래스 %t을(를) 초기화해야 합니다.",
|
||||
"기본 배열이 전체 식의 끝에서 삭제되므로 필드 이니셜라이저에서 std::initializer_list 개체 만들기가 올바르게 작동하지 않을 가능성이 있습니다.",
|
||||
"'this'는 상수 식에 사용할 수 없습니다.",
|
||||
"이 공용 구조체 형식에는 빈 이니셜라이저를 사용할 수 없습니다(초기화해야 하는 멤버가 모호함).",
|
||||
null,
|
||||
"'constexpr'은 명시적 인스턴스화 지시문에서 사용할 수 없습니다.",
|
||||
"순환 종속성으로 인해 기본 생성자의 예외 사양을 확인할 수 없습니다.",
|
||||
"익명 공용 구조체 정의 %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t에 대한 한정자가 잘못되었습니다(여기에는 파생 클래스를 사용할 수 없음).",
|
||||
"'always_inline' 특성이 인라인 함수가 아닌 함수에서 무시되었습니다.",
|
||||
"상속 생성자는 직접 기본 클래스에서 상속되어야 합니다.",
|
||||
"%np이(가) 이미 %t에서 상속되었습니다.",
|
||||
null,
|
||||
"레이블이 필요합니다.",
|
||||
"'%%l' 다음에는 피연산자 숫자가 필요합니다.",
|
||||
"'%%l'의 피연산자 숫자가 올바른 레이블 인수를 참조하지 않습니다.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"삭제된 함수는 C++11 기능입니다.",
|
||||
"기본값으로 설정된 함수는 C++11 기능입니다.",
|
||||
"스토리지 클래스는 명시적 특수화에 사용할 수 없습니다.",
|
||||
"%t은(는) 클래스 또는 범위가 지정된 열거형이 아닙니다.",
|
||||
null,
|
||||
"특수화하려면 범위가 지정되지 않은 열거형이 불투명해야 합니다.",
|
||||
"열거형 템플릿 선언은 이전에 선언된 클래스 템플릿의 멤버를 참조해야 합니다.",
|
||||
"벡터 피연산자가 필요합니다.",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"co_await 식은 catch 절 내부에 허용되지 않습니다.",
|
||||
"코루틴에는 가변 매개 변수(...)가 있을 수 없습니다.",
|
||||
"C++14-style constexpr을 사용하려면 'bool'을 지원해야 합니다.",
|
||||
"constexpr 함수 %nd이(가) 정의되지 않았습니다.",
|
||||
"constexpr %nd이(가) 정의되지 않음",
|
||||
"대상 함수 %nd이(가) constexpr이 아니거나 아직 완전히 정의되지 않아 이 호출을 확인할 수 없습니다.",
|
||||
"참고",
|
||||
"참고",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"변수가 불완전한 형식 %t일 수 없습니다.",
|
||||
"초기화되지 않은 하위 개체(%n)에 액세스합니다.",
|
||||
"초기화되지 않은 하위 개체에 액세스합니다(기본 클래스 %t).",
|
||||
"vacuous 소멸자 호출",
|
||||
"상수 식에는 의사(pseudo) 소멸자 호출을 사용할 수 없습니다.",
|
||||
"const 스토리지를 수정하려고 합니다.",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"벡터 요소 형식은 정수, 열거형 또는 실수 부동 소수점 형식이어야 합니다.",
|
||||
"128비트 정수가 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"벡터 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"연속하는 두 개의 왼쪽 대괄호에는 특성 목록만 넣을 수 있습니다.",
|
||||
"연속하는 두 개의 왼쪽 대괄호에는 항상 특성 목록이 들어가지만 특성 목록을 여기에 표시할 수 없음",
|
||||
"인식할 수 없는 '대상' 특성은 확인자 루틴에서 사용하지 못하도록 이 루틴의 자격을 취소합니다.",
|
||||
"%t은(는) 벡터 형식이 아닙니다.",
|
||||
"벡터 형식 %t1 및 %t2의 길이가 같아야 합니다.",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"기본 멤버 이니셜라이저를 값 클래스에서 사용할 수 없습니다.",
|
||||
"'--implicit_noexcept'에는 noexcept를 사용할 수 있는 모드가 필요합니다.",
|
||||
"가상 기본 클래스(%t)와 관련된 작업을 접을 수 없습니다.",
|
||||
null,
|
||||
"초기화가 상수가 아닙니다.",
|
||||
"불완전한 %t의 값을 평가할 수 없습니다.",
|
||||
"'nodiscard' 특성으로 선언된 루틴의 반환 값을 무시합니다.",
|
||||
"'nodiscard' 특성이 있는 반환 값 형식을 무시합니다.",
|
||||
"'nodiscard' 특성은 void 반환 형식을 사용하는 생성자, 소멸자 또는 루틴에 적용되지 않습니다.",
|
||||
"'nodiscard' 특성은 void 반환 형식을 사용하는 소멸자 또는 루틴에 적용되지 않습니다.",
|
||||
"'fallthrough' 특성은 null 문에만 적용됩니다.",
|
||||
"'fallthrough' 특성은 바깥쪽 switch 문에만 사용할 수 있습니다.",
|
||||
"fallthrough 문은 switch case label 또는 default 앞에 와야 합니다.",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include는 #if 외부에 사용할 수 없습니다.",
|
||||
"CComCoClass 기본 클래스를 추가할 수 없습니다.",
|
||||
"null로 종료되는 문자열 아님",
|
||||
"스칼라가 아닌 형식 %t은(는) vacuous 소멸자 호출에서 사용할 수 없습니다.",
|
||||
"스칼라가 아닌 형식 %t은(는) 의사(pseudo) 소멸자 호출에서 사용할 수 없습니다.",
|
||||
"'weak' %n의 주소가 상수가 아닙니다.",
|
||||
"함수 템플릿 시그니처의 재귀적 대체가 너무 많습니다.",
|
||||
"구조적 바인딩 선언에 대해 잘못된 지정자입니다.",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"'>>>'가 필요함",
|
||||
"__cudaPushCallConfiguration 선언을 찾을 수 없습니다. CUDA 도구 키트 설치가 손상되어 있을 수 있습니다.",
|
||||
"C++17 스타일 이니셜라이저는 이 모드에서 표준이 아닙니다.",
|
||||
"*this 캡처는 이 모드에서 표준이 아닙니다.",
|
||||
"C++17 스타일 'using' 특성 접두사는 이 모드에서 표준이 아닙니다.",
|
||||
"C++17 스타일 중첩 네임스페이스는 이 모드에서 표준이 아닙니다.",
|
||||
"'constexpr' 및 'consteval'을 둘 다 한 선언에서 사용할 수는 없습니다.",
|
||||
"선언에 'constexpr', 'consteval' 및 'constinit' 중 하나만 나타날 수 있습니다.",
|
||||
"이 모드에서 함수가 동시에 consteval 및 virtual일 수는 없습니다.",
|
||||
"'consteval'은 명시적 인스턴스화 지시문에서 사용할 수 없습니다.",
|
||||
"'consteval'은 여기에 유효하지 않습니다.",
|
||||
@@ -3166,17 +3166,17 @@
|
||||
"'internal_linkage' 특성이 이전 선언에 나타나지 않았습니다.",
|
||||
"%n에 대한 실행 가능한 템플릿 인수 추론 후보를 찾을 수 없음",
|
||||
"정규화된 생성자 호출은 허용되지 않습니다.",
|
||||
"비교 연산자는 클래스 정의에서 기본값으로만 사용할 수 있습니다.",
|
||||
"기본 비교 연산자는 적용되는 클래스의 멤버 또는 friend여야 합니다.",
|
||||
"기본 비교 연산자의 매개 변수에 대한 잘못된 형식 %t('const X에 대한 참조'여야 함, 여기서 X는 바깥쪽 클래스 형식임)",
|
||||
"기본 비교 연산자의 반환 형식은 'bool'이어야 합니다.",
|
||||
"기본 멤버 비교 연산자는 'cost'여야 합니다.",
|
||||
"이 클래스에 둘 이상의 기본 우주선 연산자가 정의됨",
|
||||
null,
|
||||
"코루틴의 프라미스 형식 %t에 'return_void' 및 'return_value' 세트를 둘 다 사용할 수는 없습니다.",
|
||||
"'return_value'이(가) %p을(를) 선언함",
|
||||
"'return_void'이(가) %p을(를) 선언함",
|
||||
"%t의 %n 끝에 'return_void'가 없지만 co_return 문이 없음",
|
||||
"코루틴 상태 할당에 대한 전역 'operator new'의 nothrow variant를 찾을 수 없음",
|
||||
"코루틴 상태 할당 취소에 대한 실행 가능한 'operator delete'를 찾을 수 없음",
|
||||
"코루틴 상태 할당 해제에 대한 실행 가능한 'operator delete'를 찾을 수 없음",
|
||||
"constexpr 함수는 코루틴일 수 없습니다.",
|
||||
"이 %s 식의 피연산자가 비클래스 %t(으)로 확인됩니다.",
|
||||
"정적 이니셜라이저에는 co_await 식을 사용할 수 없습니다.",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"%t에서 constexpr 정적 데이터 멤버 %sq을(를) 찾을 수 없음",
|
||||
"동적 할당을 위한 요소 수(%d개)가 너무 많습니다.",
|
||||
"constexpr 동적 할당 요청이 너무 큽니다.",
|
||||
"동적으로 할당되지 않은 스토리지 할당 취소",
|
||||
"할당 취소 크기(%d1)가 할당된 크기(%d2)와 일치하지 않습니다.",
|
||||
"동적으로 할당되지 않은 스토리지 할당 해제",
|
||||
"할당 해제 크기(%d1)가 할당된 크기(%d2)와 일치하지 않습니다.",
|
||||
"여기서 할당이 발생했습니다.",
|
||||
"할당 취소 형식(%t1)이 할당 형식(%t2)과 일치하지 않습니다.",
|
||||
"할당 해제 형식(%t1)이 할당 형식(%t2)과 일치하지 않습니다.",
|
||||
"일부 동적 할당(총수 = %d개)의 할당이 취소되지 않았습니다.",
|
||||
"내장 %n이(가) 예기치 않은 시그니처(%t 유형)로 선언되었습니다.",
|
||||
">> std::__report_constexpr_value의 출력",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"'ext_vector_type' 특성은 정수나 부동 소수점 형식에만 적용됩니다.",
|
||||
"이 기능 테스트 매크로는 현재 컴파일 모드에서 무시되고 0을 반환합니다.",
|
||||
"공용 구조체에 대해 여러 요소가 포함된 집합체 이니셜라이저를 평가할 수 없습니다.",
|
||||
"연산자 재작성을 위해 선택한 %nd은(는) bool 형식을 반환하지 않습니다.",
|
||||
"클래스 관련 할당 함수를 호출하는 new-expression은 상수로 계산할 수 없습니다.",
|
||||
"배치 new-expression은 상수를 계산할 수 없습니다.",
|
||||
"하위 개체 포인터를 통해 삭제하려면 가상 소멸자가 필요합니다.",
|
||||
"%npTd, 역 인수 포함",
|
||||
"__INTADDR__의 피연산자는 Null 포인터에서 오프셋되어야 합니다.",
|
||||
"_Generic 구문이 여러 형식과 일치합니다.",
|
||||
"다른 일치 항목은 %t입니다.",
|
||||
"여기에 사용된 'availability' 특성은 무시됩니다.",
|
||||
"범위 기반의 'for' 문에서 C++20 스타일 이니셜라이저 문은 이 모드에서 표준이 아닙니다.",
|
||||
"co_await는 범위 기반의 for 문에만 적용할 수 있습니다.",
|
||||
"범위 기반의 'for' 루프에서 범위 형식을 추론할 수 없습니다.",
|
||||
"인라인 변수는 C++17 기능입니다.",
|
||||
"destroying operator delete에는 첫 번째 매개 변수로 %t이(가) 필요합니다.",
|
||||
"destroying operator delete는 std::size_t 및 std::align_val_t 이외의 매개 변수를 가질 수 없습니다.",
|
||||
"낮은 수준의 추상 클래스 옵션은 C++를 컴파일할 경우에만 사용할 수 있습니다.",
|
||||
"requires 절에서 식의 시작이 잘못되었습니다.",
|
||||
"requires 절의 캐스트 식은 괄호로 묶어야 합니다.",
|
||||
"이 연산자는 괄호 없이 requires 절의 최상위 수준에 표시될 수 없습니다.",
|
||||
"원자성 제약 조건에는 bool 형식이 있어야 합니다.",
|
||||
"원자성 제약 조건이 대체에 실패했습니다.",
|
||||
"원자성 제약 조건이 상수가 아닙니다.",
|
||||
"원자성 제약 조건이 false로 평가됩니다.",
|
||||
"템플릿 제약 조건이 충족되지 않습니다.",
|
||||
"이 범위에는 개념 정의가 표시될 수 없습니다.",
|
||||
"%nd의 재선언이 잘못되었습니다.",
|
||||
"개념 ID의 %T 인수를 대체하지 못했습니다.",
|
||||
"%T 인수의 개념이 false입니다.",
|
||||
"requires 절은 여기에서 허용되지 않습니다(템플릿 기반 함수가 아님).",
|
||||
"개념 템플릿",
|
||||
"requires 절이 %nfd과(와) 호환되지 않습니다.",
|
||||
"특성이 필요합니다.",
|
||||
null,
|
||||
"형식 이름이 필요합니다.",
|
||||
"requires 식에는 가변 매개 변수(...)를 사용할 수 없습니다.",
|
||||
"requires 식의 명명되지 않은 매개 변수는 영향을 주지 않습니다.",
|
||||
"개념 이름이 필요합니다.",
|
||||
"상수 식에 표시되는 %s 호출은 항상 'true'를 생성합니다.",
|
||||
"consteval 컨텍스트에 표시되는 %s 호출은 항상 'true'를 생성합니다.",
|
||||
"비 constexpr 함수에 표시되는 %s 호출은 항상 'false'를 생성합니다.",
|
||||
"%t에 대한 형식 제약 조건이 실패했습니다.",
|
||||
"C++ 모듈을 사용할 수 있는 모드에서는 'export' 옵션을 사용할 수 없습니다.",
|
||||
"전역 모듈 조각 선언은 다른 선언 앞에 와야 합니다.",
|
||||
"모듈 선언은 전역 모듈 조각 뒤에 와야 합니다.",
|
||||
"프라이빗 모듈 조각은 모듈 선언 뒤에 와야 합니다.",
|
||||
"%s 모듈 조각을 내보낼 수 없습니다.",
|
||||
"둘 이상의 모듈을 선언할 수 없습니다.",
|
||||
"둘 이상의 %s 모듈 조각을 선언할 수 없습니다.",
|
||||
"모듈은 비어 있지 않은 이름으로 선언해야 합니다.",
|
||||
"%sq은(는) 가져올 수 있는 헤더가 아닙니다.",
|
||||
"이름이 없는 모듈을 가져올 수 없습니다.",
|
||||
"모듈은 자신에 대한 인터페이스 종속성을 포함할 수 없습니다.",
|
||||
"%sq 모듈을 이미 가져왔습니다.",
|
||||
"모듈 파일",
|
||||
"가져올 모듈 파일 %sq을(를) 찾을 수 없습니다.",
|
||||
"모듈 파일 %sq을(를) 가져올 수 없습니다."
|
||||
"모듈 %sq의 모듈 파일을 찾을 수 없습니다.",
|
||||
"모듈 파일 %sq을(를) 가져올 수 없습니다.",
|
||||
"%s1이(가) 필요한데, %s2이(가) 발견되었습니다.",
|
||||
"%sq 모듈 파일을 열 때",
|
||||
"알 수 없는 파티션 이름 %sq",
|
||||
"알 수 없는 모듈 파일",
|
||||
"가져올 수 있는 헤더 모듈 파일",
|
||||
"EDG 모듈 파일",
|
||||
"IFC 모듈 파일",
|
||||
"예기치 않은 모듈 파일",
|
||||
"두 번째 피연산자 %t2의 형식은 %t1과(와) 크기가 같아야 합니다.",
|
||||
"형식은 일반적으로 복사할 수 있어야 합니다.",
|
||||
"%t 형식은 현재 __builtin_bit_cast의 constexpr 평가에서 지원되지 않습니다.",
|
||||
"비트 필드 %t을(를) 사용하는 클래스 형식은 현재 __builtin_bit_cast의 constexpr 평가에서 지원되지 않습니다.",
|
||||
"참조 형식 %t의 비정적 데이터 멤버는 __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"volatile 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"공용 구조체, 포인터 또는 멤버 포인터 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"%npTd, decl %p 사용을 통해 상속됨",
|
||||
"생성자를 상속하기 위해 %t의 하위 개체를 생성할 수 없습니다. 암시적 기본 생성자가 삭제됩니다.",
|
||||
"%n은(는) void를 반환해야 합니다.",
|
||||
"잘못된 멤버 선언 시작",
|
||||
"'auto'가 필요합니다.",
|
||||
"이 시점에 이 연산자를 사용할 수 없습니다. 앞의 새 식을 괄호로 묶으세요.",
|
||||
"잘못된 개념 사용",
|
||||
"기본 멤버 비교 연산자는 '&&'-qualified일 수 없습니다.",
|
||||
"기본 constexpr 비교 함수에서 비 constexpr 함수 %nd 호출",
|
||||
"constexpr 메모리 비교는 정수 또는 정수 배열 개체에 대해서만 지원됩니다.",
|
||||
"개념 템플릿에는 관련된 제약 조건이 있을 수 없습니다.",
|
||||
"'export'는 허용되지 않습니다.",
|
||||
"개별 클래스 멤버를 내보낼 수 없습니다.",
|
||||
"내보낸 선언은 이름이 있어야 합니다.",
|
||||
"내보내기 선언은 내보내기 선언(이전 선언 %p)을 포함할 수 없습니다.",
|
||||
"내보내기 선언은 모듈 가져오기 선언을 포함할 수 없습니다.",
|
||||
"내보내기 선언은 모듈 인터페이스 단위에만 나타날 수 있습니다.",
|
||||
"내보내기 선언은 내부 링크가 있는 이름을 내보낼 수 없습니다.",
|
||||
"using 선언에 %nfd가 포함되어 있습니다.",
|
||||
"__fp16 부동 소수점 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"requires 식은 하나 이상의 요구 사항을 지정해야 합니다.",
|
||||
"'constinit'는 여기에 유효하지 않습니다.",
|
||||
"'constinit'는 정적 또는 스레드 저장 기간을 사용하는 변수 선언에만 유효합니다.",
|
||||
"constinit 변수에는 동적 초기화가 필요합니다.",
|
||||
"변수가 이전에 'constinit'(%p)로 선언되었습니다.",
|
||||
"프로토타입 함수가 아닌 함수 선언자를 사용합니다.",
|
||||
"인수에는 const 한정 형식을 사용할 수 없습니다.",
|
||||
"불완전한 형식 %t의 멤버 포인터는 사용할 수 없습니다.",
|
||||
"init-capture의 팩 확장은 이 모드에서 사용할 수 없습니다.",
|
||||
"init-capture의 팩 확장은 C++20 기능입니다.",
|
||||
"클래스 정의의 기본 비교 연산자는 해당 비교 연산자(%nd)의 첫 번째 선언이어야 합니다.",
|
||||
"init-capture의 팩 확장은 가변 인자 템플릿에서만 사용할 수 있습니다.",
|
||||
"형식 제약 조건이 형식 개념(즉, 첫 번째 매개 변수가 형식 매개 변수인 개념 템플릿)이 아닌 %nd를 사용합니다.",
|
||||
"추론된 자리 표시자 형식 %t이(가) 형식 제약 조건에 실패했습니다.",
|
||||
"%t의 기본 생성자가 적합하지 않습니다.",
|
||||
"순서가 지정되지 않은 제약 조건으로 인해 %t의 소멸자가 모호합니다.",
|
||||
"실패한 제약 조건으로 인해 %t의 소멸자가 부적합합니다.",
|
||||
"모호한 소멸자 후보",
|
||||
"가상 함수에는 후행 requires 절을 사용할 수 없습니다.",
|
||||
"%nd이(가) 해당 제약 조건을 충족하지 않습니다.",
|
||||
"decltype 한정자 %t의 결과가 클래스 또는 열거형이 아닙니다.",
|
||||
"역 매개 변수를 사용하는 암시적 비교 연산자는 동일하게 적절한 일치 항목이므로 표준 C++20에서 비교는 모호합니다. 이 문제는 일반적으로 비교 연산자에 'const' 한정자가 없어서 발생합니다. %nod를 참조하세요.",
|
||||
"잘못된 개념 ID",
|
||||
"requires 절의 %T 인수를 대체하지 못했습니다.",
|
||||
"%nd에 대한 제약 조건을 충족하지 않습니다.",
|
||||
"constexpr 함수의 변수 형식 %t에는 가상 기본 클래스가 있습니다.",
|
||||
"상수 식은 가상 기본 하위 개체(%t 형식)를 할당할 수 없습니다.",
|
||||
"클래스 형식의 템플릿 매개 변수는 구조적 클래스 형식이어야 합니다.",
|
||||
"UTF-8 리터럴에 대한 지원에는 u-리터럴 지원이 필요합니다.",
|
||||
"'%s'에 대한 모듈 파일 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 헤더 단위 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 매핑이 지정되지 않았습니다.",
|
||||
"'%s'에 대한 모듈 파일 매핑이 잘못되었습니다.",
|
||||
"가져올 '%s' 헤더를 찾을 수 없습니다.",
|
||||
"모듈 파일 목록에 있는 두 개 이상의 파일이 '%s'과(와) 일치합니다.",
|
||||
"'%s'에 대해 찾은 모듈 파일이 다른 모듈에 대한 것입니다.",
|
||||
"모든 종류의 모듈 파일",
|
||||
"모듈 파일을 읽을 수 없음",
|
||||
"char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.",
|
||||
null,
|
||||
"기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용",
|
||||
"memcpy 유사 내장의 소스 또는 대상이 개체를 가리키지 않음",
|
||||
"memcpy 유사 내장이 대표적으로 차별화된 형식 %t1 및 %t2을(를) 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 중요하게 복사 가능한 형식 %t을(를) 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 부분 개체를 복사하려고 시도함",
|
||||
"memcpy 유사 내장이 과거 배열 경계를 복사하려고 시도함",
|
||||
"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 가져오기를 건너뜀"
|
||||
]
|
||||
@@ -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",
|
||||
@@ -171,7 +171,7 @@
|
||||
"oczekiwano deklaracji",
|
||||
"wskaźnik wskazuje poza obiekt podstawowy",
|
||||
"nieprawidłowa konwersja typu",
|
||||
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją",
|
||||
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją %p",
|
||||
"wartość zmiennoprzecinkowa nie mieści się w wymaganym typie całkowitym",
|
||||
"wyrażenie nie ma żadnego efektu",
|
||||
"indeks poza zakresem",
|
||||
@@ -352,8 +352,8 @@
|
||||
"więcej niż jeden operator %sq pasuje do tych argumentów operacji:",
|
||||
"pierwszy parametr funkcji alokacji musi mieć typ „size_t”",
|
||||
"funkcja alokacji musi zwracać typ „void *”",
|
||||
"funkcja dezalokacji musi zwracać typ „void”",
|
||||
"pierwszy parametr funkcji dezalokacji musi mieć typ „void *”",
|
||||
"funkcja cofania alokacji musi zwracać typ „void”",
|
||||
"pierwszy parametr funkcji cofania alokacji musi mieć typ „void *”",
|
||||
null,
|
||||
"typ musi być typem obiektu",
|
||||
"klasa bazowa %t jest już zainicjowana",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"więcej niż jedna funkcja konwersji umożliwia konwertowanie elementu %t na typ wbudowany:",
|
||||
"wartość stała %n",
|
||||
"odwołanie do %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"wbudowany operator %sq",
|
||||
"%no (niejednoznaczne dziedziczenie)",
|
||||
"%nod, niejednoznaczność przez dziedziczenie",
|
||||
"nie można pobrać adresu konstruktora lub destruktora",
|
||||
null,
|
||||
"użyto wartości tymczasowej jako wartości początkowej odwołania do elementu niebędącego stałą (anachronizm)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n to nie jest szablon klasy",
|
||||
"tablica z niekompletnym typem elementu jest niestandardowa",
|
||||
"operatora alokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"operatora dezalokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"operatora cofania alokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"wystąpił konflikt elementu %np1 z deklaracją using elementu %np2",
|
||||
"wystąpił konflikt elementu %np1 używającego deklaracji using z elementem %npd2",
|
||||
"opcji przestrzeni nazw można użyć tylko w przypadku kompilowania kodu C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"atrybuty zmiennej pojawiające się po inicjatorze w nawiasach są ignorowane",
|
||||
"wynik tego rzutowania nie może być używany jako l-wartość",
|
||||
"negacja wartości stałoprzecinkowej bez znaku",
|
||||
"ten operator jest niedozwolony w tym miejscu. Użyj nawiasów.",
|
||||
null,
|
||||
null,
|
||||
"nazwy rejestru mogą być używane tylko dla zmiennych rejestru",
|
||||
"zmienne nazwanego rejestru nie mogą mieć typu void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"nieprawidłowa wartość flagi cannot-redefine",
|
||||
"zduplikowany modyfikator funkcji",
|
||||
"nieprawidłowy znak dla literału char16_t",
|
||||
"Nie można zastosować makra __LPREFIX do literałów char8_t, char16_t ani char32_t",
|
||||
null,
|
||||
"nierozpoznana konwencja wywoływania %s. Musi ona być jedną z następujących:",
|
||||
null,
|
||||
null,
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"dyrektywa #include <lista_inicjatorów> jest potrzebna przed użyciem obiektu std::initializer_list, z uwzględnieniem użycia niejawnego",
|
||||
"nie można użyć słowa kluczowego „inline” w deklaracji aliasu przestrzeni nazw",
|
||||
"poprzednia deklaracja elementu %n nie była zadeklarowana śródwierszowo",
|
||||
"ponowna deklaracja wbudowanego elementu %n musi być zadeklarowana śródwierszowo",
|
||||
"Element %n był wcześniej zadeklarowany śródwierszowo",
|
||||
"pierwszy argument musi być całkowitą wartością stałą",
|
||||
"desygnator nie może być używany z niezagregowanym typem %t",
|
||||
"desygnator dla anonimowej składowej unii może występować tylko w nawiasach klamrowych odpowiadających tej anonimowej unii",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"konstruktor constexpr musi inicjować bezpośrednią klasę bazową %t",
|
||||
"tworzenie obiektu std::initializer_list w inicjatorze pola prawdopodobnie nie będzie działać zgodnie z oczekiwaniami, ponieważ tablica bazowa zostanie zniszczona na koniec pełnego wyrażenia",
|
||||
"słowo kluczowe „this” nie może być używane w wyrażeniu stałej",
|
||||
"pusty inicjator nie jest prawidłowy dla tego typu unii (to, która składowa powinna być inicjowana, jest niejednoznaczne)",
|
||||
null,
|
||||
"słowo kluczowe „constexpr” nie jest dozwolone dla jawnej dyrektywy tworzenia wystąpienia",
|
||||
"nie można ustalić specyfikacji wyjątku konstruktora domyślnego z powodu zależności cyklicznej",
|
||||
"element %p zdefiniowany przez unię anonimową",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"nieprawidłowy kwalifikator dla elementu %t (klasa pochodna jest w tym miejscu niedozwolona)",
|
||||
"atrybut „always_inline” jest ignorowany w przypadku funkcji innych niż inline",
|
||||
"konstruktory dziedziczące muszą być dziedziczone po bezpośredniej klasie bazowej",
|
||||
"element %np dziedziczył już po elemencie %t",
|
||||
null,
|
||||
"oczekiwano etykiety",
|
||||
"oczekiwano numeru argumentu operacji za „%%l”",
|
||||
"liczba argumentu operacji dla elementu „%%l” nie odwołuje się do prawidłowego argumentu etykiety",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"funkcje usunięte są funkcją języka C++11",
|
||||
"funkcje domyślne są funkcją języka C++11",
|
||||
"klasa magazynu nie jest dozwolona w jawnej specjalizacji",
|
||||
"element %t nie jest klasą ani wyliczeniem z zakresem",
|
||||
null,
|
||||
"wyliczenie bez zakresu musi być nieprzezroczyste, aby było specjalizowane",
|
||||
"deklaracja szablonu wyliczenia musi odwoływać się do wcześniej zadeklarowanej składowej szablonu klasy",
|
||||
"oczekiwano wektora jako argumentu operacji",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"zmienna nie może mieć niepełnego typu %t",
|
||||
"dostęp do niezainicjowanego podobiektu (%n)",
|
||||
"dostęp do niezainicjowanego podobiektu (klasa bazowa: %t)",
|
||||
"niepotrzebne wywołanie destruktora",
|
||||
"wywołanie pseudodestruktora jest niedozwolone w wyrażeniu stałym",
|
||||
"próba zmodyfikowania magazynu stałych",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"typ elementu wektora musi być typem integralnym, wyliczeniem lub rzeczywistą liczbą zmiennoprzecinkową",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ 128-bitowe liczby całkowite nie są obsługiwane",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ typy wektorów nie są obsługiwane",
|
||||
"dwa kolejne lewe nawiasy kwadratowe mogą wprowadzać tylko listę atrybutów",
|
||||
"dwa kolejne lewe nawiasy kwadratowe zawsze wprowadzają listę atrybutów, ale lista atrybutów nie może znajdować się w tym miejscu",
|
||||
"nierozpoznany atrybut „target” dyskwalifikuje tę procedurę z użycia przez procedurę programu rozpoznawania nazw",
|
||||
"%t nie jest typem wektora",
|
||||
"typy wektorów %t1 i %t2 muszą mieć tę samą długość",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"inicjator domyślnej składowej nie jest dozwolony w klasie wartości",
|
||||
"element „--implicit_noexcept” wymaga trybu umożliwiającego użycie elementu noexcept",
|
||||
"nie można złożyć operacji obejmującej wirtualną klasę bazową (%t)",
|
||||
null,
|
||||
"inicjowanie nie jest stałą",
|
||||
"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 konstruktorów, destruktorów ani procedur ze zwracanym typem void",
|
||||
"atrybut „nodiscard” nie ma zastosowania do destruktorów ani procedur ze zwracanym typem void",
|
||||
"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ą",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"element __has_include nie może występować poza wyrażeniem #if",
|
||||
"nie można dodać klasy bazowej CComCoClass",
|
||||
"ciąg inny niż zakończony wartością null",
|
||||
"typu nieskalarnego %t nie można używać w jałowym wywołaniu destruktora",
|
||||
"nie można używać typu nieskalarnego %t w wywołaniu pseudodestruktora",
|
||||
"adres elementu „weak” %n nie jest stały",
|
||||
"zbyt wiele rekursywnych podstawień podpisów szablonów funkcji",
|
||||
"nieprawidłowy specyfikator dla deklaracji powiązania ze strukturą",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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",
|
||||
"zagnieżdżone przestrzenie nazw zgodne ze specyfikacją C++17 są niestandardowe w tym trybie",
|
||||
"słowa kluczowe „constexpr” i „consteval” nie mogą występować razem w deklaracji",
|
||||
"tylko jeden element „constexpr, „consteval” i „constinit” może występować w deklaracji",
|
||||
"funkcja nie może być jednocześnie zadeklarowana jako consteval i virtual w tym trybie",
|
||||
"słowo kluczowe „consteval” jest niedozwolone dla jawnej dyrektywy tworzenia wystąpienia",
|
||||
"słowo kluczowe „consteval” nie jest prawidłowe w tym miejscu",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"atrybut „internal_linkage” nie pojawił się we wcześniejszej deklaracji",
|
||||
"nie znaleziono zdatnego kandydata wnioskowania argumentu szablonu dla elementu %n",
|
||||
"wywołanie w pełni kwalifikowanego konstruktora jest niedozwolone",
|
||||
"operator porównania może być tylko domyślny w definicji klasy",
|
||||
"przyjęty domyślnie operator porównania musi być składową lub elementem zaprzyjaźnionym klasy, do której ma zastosowanie",
|
||||
"nieprawidłowy typ %t parametru domyślnego operatora porównania (wymagany jest typ „reference to const X”, gdzie X jest typem klasy otaczającej)",
|
||||
"zwracanym typem domyślnego operatora porównania musi być „bool”",
|
||||
"domyślny operator porównania elementu członkowskiego musi mieć wartość „const”",
|
||||
"w tej klasie zdefiniowano więcej niż jeden domyślny operator spaceship",
|
||||
null,
|
||||
"Typ obietnicy %t koprocedury nie może mieć ustawionej jednocześnie metody „return_void” i metody „return_value”",
|
||||
"metoda „return_value” zadeklarowała element %p",
|
||||
"metoda „return_void” zadeklarowała element %p",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"nie znaleziono statycznego elementu członkowskiego danych constexpr %sq w %t",
|
||||
"liczba elementów (%d) jest zbyt duża na potrzeby dynamicznej alokacji",
|
||||
"żądanie dynamicznej alokacji wyrażenia constexpr jest zbyt duże",
|
||||
"cofnięcie przydziału magazynu, który nie został dynamicznie przydzielony",
|
||||
"rozmiar dezalokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
|
||||
"cofnięcie alokacji magazynu, który nie został dynamicznie przydzielony",
|
||||
"rozmiar cofania alokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
|
||||
"tutaj wystąpił przydział",
|
||||
"typ dezalokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
|
||||
"typ cofania alokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
|
||||
"nie cofnięto przydziału niektórych dynamicznych alokacji (łączna liczba: %d)",
|
||||
"wewnętrzny element %n zadeklarowany z nieoczekiwanym podpisem (typ %t)",
|
||||
">> dane wyjściowe z elementu std::__report_constexpr_value",
|
||||
@@ -3220,7 +3220,177 @@
|
||||
"atrybut „ext_vector_type” ma zastosowanie tylko do typów będących liczbami całkowitymi lub zmiennoprzecinkowymi",
|
||||
"to makro feature-test jest ignorowane i zwraca wartość 0 w bieżącym trybie kompilacji",
|
||||
"nie można ocenić inicjatora agregacji za pomocą wielu elementów dla unii",
|
||||
"Element %nd wybrany dla operatora ponownego zapisania nie zwraca typu logicznego",
|
||||
"wyrażenie new-expression wywołujące funkcję alokacji specyficzną dla klasy nie może być obliczane jako stała",
|
||||
"wyrażenie new umieszczania nie może dawać wartości stałej",
|
||||
"usuwanie za pomocą wskaźnika podobiektu wymaga destruktora wirtualnego",
|
||||
"%npTd, z odwróconymi argumentami",
|
||||
"argument operacji __INTADDR__ musi być odsunięty od wskaźnika o wartości null",
|
||||
"Konstrukcja _Generic dopasowuje wiele typów",
|
||||
"inne dopasowanie jest %t",
|
||||
"użyty tutaj atrybut „availability” jest ignorowany",
|
||||
"Instrukcja inicjatora w stylu języka C++20 w instrukcji „for” opartej na zakresie jest niestandardowa w tym trybie",
|
||||
"element co_await można zastosować tylko do instrukcji for opartej na zakresie",
|
||||
"nie można wywnioskować typu zakresu w pętli „for” opartej na zakresie.",
|
||||
"zmienne wbudowane to funkcja języka C++ 17",
|
||||
"niszczący operator delete wymaga elementu %t jako pierwszego parametru",
|
||||
"niszczący operator delete nie może mieć parametrów innych niż std::size_t i std::align_val_t",
|
||||
"opcje swobodnej klasy abstrakcyjnej mogą być używane tylko podczas kompilowania kodu C++",
|
||||
"nieprawidłowy początek wyrażenia w klauzuli requires",
|
||||
"wyrażenie rzutowania w klauzuli requires musi być ujęte w nawiasy",
|
||||
"ten operator nie może być wyświetlany na najwyższym poziomie (bez nawiasów) w klauzuli requires",
|
||||
"niepodzielne ograniczenie musi mieć typ bool",
|
||||
"niepowodzenie podstawiania niepodzielnego ograniczania",
|
||||
"niepodzielne ograniczenie nie jest stałe",
|
||||
"niepodzielne ograniczenie zwraca wartość false",
|
||||
"ograniczenie szablonu nie zostało spełnione",
|
||||
"definicja koncepcji nie może znajdować się w tym zakresie",
|
||||
"nieprawidłowa ponowna deklaracja elementu %nd",
|
||||
"podstawianie argumentów %T dla identyfikatora koncepcji nie powiodło się",
|
||||
"koncepcja jest fałszywa dla argumentów %T",
|
||||
"klauzula requires nie jest dozwolona w tym miejscu (nie jest to funkcja z szablonem)",
|
||||
"szablon koncepcji",
|
||||
"klauzula requires jest niezgodna z elementem %nfd",
|
||||
"oczekiwano atrybutu",
|
||||
null,
|
||||
"oczekiwano nazwy typu",
|
||||
"parametr wielokropka nie jest dozwolony w wyrażeniu requires",
|
||||
"parametr bez nazwy wyrażeniu requires nie ma żadnego wpływu",
|
||||
"oczekiwano nazwy koncepcji",
|
||||
"wywołanie elementu %s pojawiające się w wyrażeniu stałym zawsze zwraca wartość „true”",
|
||||
"wywołanie elementu %s pojawiające się w kontekście consteval zawsze zwraca wartość „true”",
|
||||
"wywołanie %s pojawiające się w funkcji innej niż constexpr zawsze zwraca wartość „false”",
|
||||
"ograniczenie typu nie powiodło się dla elementu %t",
|
||||
"opcji „export” nie można używać w trybach, w których włączono moduły języka C++",
|
||||
"deklaracja fragmentu modułu globalnego musi poprzedzać dowolną inną deklarację",
|
||||
"deklarację modułu można poprzedzać tylko fragment modułu globalnego",
|
||||
"fragment modułu prywatnego musi być poprzedzony deklaracją modułu",
|
||||
"nie można wyeksportować fragmentu modułu %s",
|
||||
"nie można zadeklarować więcej niż jednego modułu",
|
||||
"nie można zadeklarować więcej niż jednego fragmentu modułu %s",
|
||||
"moduł musi być zadeklarowany z niepustą nazwą",
|
||||
"%sq nie jest nagłówkiem, który można zaimportować",
|
||||
"nie można zaimportować modułu bez nazwy",
|
||||
"moduł nie może mieć zależności interfejsu od samego siebie",
|
||||
"moduł %sq został już zaimportowany",
|
||||
"plik modułu",
|
||||
"nie można odnaleźć pliku modułu %sq do zaimportowania",
|
||||
"nie można zaimportować pliku modułu %sq"
|
||||
"nie można odnaleźć pliku modułu dla modułu %sq",
|
||||
"nie można zaimportować pliku modułu %sq",
|
||||
"oczekiwano elementu %s1, zamiast niego znaleziono element %s2",
|
||||
"podczas otwierania pliku modułu %sq",
|
||||
"nieznana nazwa partycji %sq",
|
||||
"nieznany plik modułu",
|
||||
"plik modułu z importowalnym nagłówkiem",
|
||||
"plik modułu EDG",
|
||||
"plik modułu IFC",
|
||||
"nieoczekiwany plik modułu",
|
||||
"typ drugiego operandu %t2 musi mieć taki sam rozmiar jak element %t1",
|
||||
"typ musi być możliwy do skopiowania w prosty sposób",
|
||||
"typ %t nie jest obecnie obsługiwany na potrzeby oceny wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"typy klas z polami bitowymi %t nie są obecnie obsługiwane na potrzeby oceny wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"niestatyczna składowa danych typu referencyjnego %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"typ nietrwały %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"typ unii, wskaźnika lub wskaźnika do składowej %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"%npTd, odziedziczone za pomocą deklaracji %p",
|
||||
"nie można wykonać konstrukcji podobiektu %t na potrzeby dziedziczenia konstruktorów — niejawny konstruktor domyślny został usunięty",
|
||||
"Element %n musi zwracać wartość void",
|
||||
"nieprawidłowy początek deklaracji członkowskiej",
|
||||
"oczekiwano elementu „auto”",
|
||||
"ten operator jest niedozwolony w tym miejscu; umieść w nawiasie poprzednie nowe wyrażenie",
|
||||
"nieprawidłowe użycie koncepcji",
|
||||
"domyślny operator porównania elementu członkowskiego nie może być kwalifikowany przez element „&&”",
|
||||
"domyślna funkcja porównywania constexpr wywołuje funkcję non-constexpr %nd",
|
||||
"Porównywanie pamięci constexpr jest obsługiwane tylko w przypadku obiektów będących liczbami całkowitymi lub tablicami liczb całkowitych",
|
||||
"z szablonem koncepcji nie mogą być skojarzone ograniczenia",
|
||||
"Polecenie „export” jest niedozwolone",
|
||||
"eksportowanie pojedynczych elementów członkowskich klasy jest niedozwolone",
|
||||
"wyeksportowana deklaracja musi wprowadzić nazwę",
|
||||
"deklaracja eksportu nie może zawierać deklaracji eksportu (poprzednia deklaracja %p)",
|
||||
"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",
|
||||
"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",
|
||||
"Zmienna constinit wymaga inicjowania dynamicznego",
|
||||
"zmienna została wcześniej zadeklarowana za pomocą elementu „constinit” %p",
|
||||
"Używanie nieprototypowego deklaratora funkcji",
|
||||
"argument nie może mieć typu kwalifikowanego jako const",
|
||||
"wskaźnik do składowej niepełnego typu %t jest niedozwolony",
|
||||
"rozszerzenie pakietu w funkcji init-capture nie jest włączone w tym trybie",
|
||||
"rozszerzenie pakietu w funkcji init-capture to funkcja języka C++20",
|
||||
"operator porównania przyjęty domyślnie w definicji klasy musi być pierwszą deklaracją tego operatora porównania (%nd)",
|
||||
"rozszerzenie pakietu w elemencie init-capture może być używane tylko w szablonie wariadycznym",
|
||||
"ograniczenie typu używa elementu %nd, który nie jest koncepcją typu (tj. szablonem koncepcji, którego pierwszym parametrem jest parametr typu)",
|
||||
"wywnioskowany typ symbolu zastępczego %t nie spełniał ograniczenia typu",
|
||||
"domyślny konstruktor dla elementu %t nie kwalifikuje się",
|
||||
"destruktor dla %t jest niejednoznaczny z powodu nieuporządkowanych ograniczeń",
|
||||
"destruktor %t dla nie kwalifikuje się z powodu niepowodzenia ograniczeń",
|
||||
"niejednoznaczny kandydat destruktora",
|
||||
"funkcja wirtualna nie może mieć końcowej klauzuli requires",
|
||||
"%nd nie spełnia swoich ograniczeń",
|
||||
"wynik %t kwalifikatora decltype nie jest klasą ani wyliczeniem",
|
||||
"porównanie jest niejednoznaczne w standardowym języku C++20, ponieważ implikowany operator porównania z odwróconymi parametrami jest równie dobrym dopasowaniem — jest to zwykle spowodowane brakującym kwalifikatorem „const” w operatorze porównania; zobacz %nod",
|
||||
"nieprawidłowy identyfikator koncepcji",
|
||||
"podstawianie argumentów %T dla klauzuli requires nie powiodło się",
|
||||
"ograniczenia dla %nd nie są spełnione",
|
||||
"typ zmiennej %t w funkcji constexpr ma wirtualne klasy podstawowe",
|
||||
"wyrażenie stałe nie może przydzielić wirtualnego podobiektu podstawowego (dla typu %t)",
|
||||
"parametr szablonu typu klasy musi być typu klasy strukturalnej",
|
||||
"obsługa literałów UTF-8 wymaga obsługi literału z prefiksem u.",
|
||||
"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",
|
||||
"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",
|
||||
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)",
|
||||
"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,
|
||||
"Element %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"
|
||||
]
|
||||
@@ -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",
|
||||
@@ -171,7 +171,7 @@
|
||||
"esperado uma declaração",
|
||||
"ponteiro aponta para fora do objeto considerado",
|
||||
"conversão de tipo inválida",
|
||||
"conflito de vínculo interno/externo com declaração anterior",
|
||||
"conflito de vínculo interno/externo com a declaração anterior %p",
|
||||
"valor de ponto flutuante não cabe no tipo integral requerido",
|
||||
"a expressão não possui efeito",
|
||||
"subscrito fora do intervalo",
|
||||
@@ -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,
|
||||
@@ -420,9 +420,9 @@
|
||||
"é possível aplicar mais de uma função de conversão de %t para um tipo embutido:",
|
||||
"constante %n",
|
||||
"referência %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operador embutido %sq",
|
||||
"%no (ambíguo por herança)",
|
||||
"%nod, ambíguo por herança",
|
||||
"um construtor or destrutor pode não ter seu endereço capturado",
|
||||
null,
|
||||
"variável temporária utilizada para valor inicial de referência de uma não constante (anacronismo)",
|
||||
@@ -1229,7 +1229,7 @@
|
||||
"a transferência de controle em uma expressão de instrução não é permitida",
|
||||
null,
|
||||
"essa declaração não é permitida dentro de uma expressão de instrução",
|
||||
"uma classe que não é trivial de ser copiada não pode ser definida dentro de uma expressão de instrução",
|
||||
"não é possível definir, dentro de uma expressão de instrução, uma classe que não pode ser copiada de maneira trivial",
|
||||
null,
|
||||
"uma variável estática local inicializada dinamicamente não é permitida dentro de uma expressão de instrução",
|
||||
"uma matriz de comprimento variável não é permitida dentro de uma expressão de instrução",
|
||||
@@ -1290,7 +1290,7 @@
|
||||
null,
|
||||
"qualificadores asm GNU inválidos",
|
||||
"um tipo de classe que não é trivial de ser copiado passou pelas reticências",
|
||||
"um tipo de classe que não é trivial de ser copiado não pode ser buscado por va_arg",
|
||||
"não é possível buscar por va_arg um tipo de classe que não pode ser copiado de maneira trivial",
|
||||
"the \"u\" or \"U\" suffix must appear before the \"l\" or \"L\" suffix in a fixed-point literal",
|
||||
"a opção 'fixed_point' pode ser utilizada somente quando se estiver compilando C",
|
||||
"o operando inteiro pode causar estouro de ponto fixo",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"os atributos variáveis que são exibidos depois de um inicializador entre parênteses são ignorados",
|
||||
"o resultado dessa conversão não pode ser usado como um lvalue",
|
||||
"negação de um valor de ponto fixo não atribuído",
|
||||
"esse operador não é permitido nesse ponto; use parênteses",
|
||||
null,
|
||||
null,
|
||||
"os nomes de registro somente podem ser usados para variáveis de registro",
|
||||
"as variáveis de registro nomeado não pode ter tipo void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"valor de não pode definir novamente inválido",
|
||||
"modificador de função duplicado",
|
||||
"caractere inválido para literal char16_t",
|
||||
"O __LPREFIX não pode ser aplicado aos literais char8_t, char16_t ou char32_t",
|
||||
null,
|
||||
"convenção de chamadas não reconhecida %s, deve ser um dos:",
|
||||
null,
|
||||
null,
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -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",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"um #include <lista_de_inicializadores> é necessário antes do uso de um std::initializer_list, incluindo um uso implícito",
|
||||
"a palavra-chave 'inline' não pode ser usada na declaração de um alias de namespace",
|
||||
"a declaração anterior de %n não foi declarada em linha",
|
||||
"a redeclaração de inline %n deve ser declarada em linha",
|
||||
"O %n foi declarado embutido anteriormente",
|
||||
"o primeiro argumento deve ser uma constante inteira",
|
||||
"um designador não pode ser usado com um tipo de não agregação %t",
|
||||
"um designador para um membro de união anônima só pode aparecer entre chaves correspondentes àquela união anônima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"o construtor constexpr deve inicializar a classe base direta %t",
|
||||
"é improvável que a criação de um objeto std::initializer_list em um inicializador de campo funcione como esperado porque a matriz subjacente será destruída ao final da expressão completa",
|
||||
"'this' não pode ser usado em uma expressão constante",
|
||||
"um inicializador vazio não é válido para este tipo de união (qual membro deve ser inicializado fica ambíguo)",
|
||||
null,
|
||||
"'constexpr' não é permitido em uma diretiva explícita de instanciação",
|
||||
"não é possível determinar a especificação de exceção do construtor padrão devido a uma dependência circular",
|
||||
"%p definido por união anônima",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"qualificador inválido para %t (uma classe derivada não é permitida aqui)",
|
||||
"o atributo 'always_inline' é ignorado em funções não embutidas",
|
||||
"construtores de herança devem ser herdados de uma classe base direta",
|
||||
"%np já herdado de %t",
|
||||
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",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"funções excluídas são um recurso do C++11",
|
||||
"funções padrão são um recurso do C++11",
|
||||
"uma classe de armazenamento não é permitida em uma especialização explícita",
|
||||
"%t não é uma classe ou enumeração com escopo",
|
||||
null,
|
||||
"uma enumeração sem escopo definido deve ser opaco para ser especializada",
|
||||
"uma declaração de modelo enumeração deve fazer referência a um membro anteriormente declarado de um modelo de classe",
|
||||
"espera-se um operando de vetor",
|
||||
@@ -2566,7 +2566,7 @@
|
||||
"destino de atributo inválido para um atributo autônomo",
|
||||
"destino de atributo inválido para este contexto",
|
||||
"o atributo %t não pode ser usado aqui",
|
||||
"%t é preterido; use '...' para especificar uma matriz de parâmetros",
|
||||
"%t está preterido; use '...' para especificar uma matriz de parâmetros",
|
||||
"o namespace padrão não pode ser estendido",
|
||||
"o tipo na caixa deve ser uma classe value ou enum",
|
||||
"a referência de rastreamento para a classe de valor não é permitida",
|
||||
@@ -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",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"a variável não pode ter um %t de tipo incompleto",
|
||||
"acesso a subobjeto não inicializado (%n)",
|
||||
"acesso a subobjeto não inicializado (classe base %t)",
|
||||
"chamada de destruidor vazia",
|
||||
"uma chamada de pseudodestruidor não é permitida em uma expressão de constante",
|
||||
"tentativa de modificar o armazenamento const",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"o tipo de elemento do vetor deve ser integral, de enumeração ou do tipo de ponto flutuante real",
|
||||
"a função interna não está disponível porque não há suporte para 128 bits inteiros",
|
||||
"a função interna não está disponível porque não há suporte para os tipos de vetores",
|
||||
"dois colchetes à esquerda e consecutivos só podem apresentar uma lista de atributos",
|
||||
"dois colchetes à esquerda consecutivos sempre introduzem uma lista de atributos, mas uma lista de atributos não pode aparecer aqui",
|
||||
"o atributo 'de destino' não reconhecido desqualifica essa rotina de ser usada pela rotina do resolvedor",
|
||||
"%t não é um tipo de vetor",
|
||||
"os tipos de vetor %t1 e %t2 devem ter o mesmo comprimento",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"um inicializador de membro padrão não é permitido em uma classe de valor",
|
||||
"'--implicit_noexcept' exige um modo que habilite noexcept",
|
||||
"não é possível realizar o desdobramento da operação envolvendo a classe base virtual (%t)",
|
||||
null,
|
||||
"a inicialização não é constante",
|
||||
"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 construtores, destrutores ou rotinas com o tipo de retorno nulo",
|
||||
"o atributo 'nodiscard' não se aplica aos destruidores ou rotinas com o tipo de retorno nulo",
|
||||
"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",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include não pode aparecer fora de #if",
|
||||
"não é possível adicionar a classe base CComCoClass",
|
||||
"não é uma cadeia de caracteres com terminação nula",
|
||||
"o tipo não escalar %t não pode ser usado em uma chamada de destruidor vazia",
|
||||
"o tipo não escalar %t não pode ser usado em uma chamada de pseudodestruidor",
|
||||
"o endereço de 'weak' %n não é constante",
|
||||
"substituições recursivas em excesso de assinaturas de modelo de função",
|
||||
"especificador inválido para a declaração de associação estruturada",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
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",
|
||||
"Os namespaces aninhados de estilo C++17 estão fora do padrão neste modo",
|
||||
"'constexpr' e 'consteval' não podem aparecer juntos em uma declaração",
|
||||
"somente uma das opções: 'constexpr', 'consteval' e 'constinit' pode aparecer em uma declaração",
|
||||
"uma função não pode ser tanto consteval quanto virtual neste modo",
|
||||
"'consteval' não é permitido em uma diretiva explícita de instanciação",
|
||||
"'consteval' não é válido aqui",
|
||||
@@ -3166,11 +3166,11 @@
|
||||
"o atributo 'internal_linkage' não apareceu em uma declaração anterior",
|
||||
"não foi encontrado nenhum candidato viável à dedução de argumento de modelo para %n",
|
||||
"uma chamada de construtor totalmente qualificada não é permitida",
|
||||
"um operador de comparação pode ser usado como padrão somente em uma definição de classe",
|
||||
"um operador de comparação usado como padrão precisa ser um membro ou um friend da classe à qual se aplica",
|
||||
"tipo incorreto %t para o parâmetro do operador de comparação usado como padrão (precisa ser 'referência à const X', em que X é o tipo de classe delimitadora)",
|
||||
"o tipo de retorno do operador de comparação usado como padrão precisa ser 'bool'",
|
||||
"um operador de comparação de membros usado como padrão precisa ser 'const'",
|
||||
"mais de um operador \"espaçonave\" usado como padrão definido nesta classe",
|
||||
null,
|
||||
"o tipo de promessa de corrotina %t não pode ter 'return_void' e 'return_value' definidos",
|
||||
"%p declarado de 'return_value'",
|
||||
"'return_void' declarou %p",
|
||||
@@ -3207,20 +3207,190 @@
|
||||
"o tipo de objeto descartado tem o atributo 'nodiscard' (%sq)",
|
||||
"uma referência de pseudodestruidor pode ser usada somente para uma chamada pseudodestruidor",
|
||||
"uma chamada de destruidor explícita não é permitida em uma expressão constante",
|
||||
"um operador de vírgula que não está entre parênteses em uma expressão de subscrito de matriz é preterido",
|
||||
"um operador de vírgula que não está entre parênteses em uma expressão de subscrito de matriz está preterido",
|
||||
"número de elementos alocados dinamicamente (%d) muito pequeno para o inicializador",
|
||||
"um operando volátil para a expressão %s é preterido",
|
||||
"o uso do resultado de uma atribuição para um objeto volátil escalar é preterido",
|
||||
"um operando volátil da expressão %s está preterido",
|
||||
"o uso do resultado de uma atribuição para um objeto volátil escalar está preterido",
|
||||
"um tipo de destino volátil para uma expressão de atribuição composta foi preterido",
|
||||
"um parâmetro de função volátil é preterido",
|
||||
"um tipo de retorno volátil é preterido",
|
||||
"o uso de um qualificador volátil em uma associação estruturada é preterido",
|
||||
"um parâmetro de função volátil está preterido",
|
||||
"um tipo de retorno volátil está preterido",
|
||||
"o uso de um qualificador volátil em uma associação estruturada está preterido",
|
||||
"o argumento 'ext_vector_type' deve estar entre 1 e 2047",
|
||||
"o atributo 'ext_vector_type' pode aparecer somente em um typedef",
|
||||
"o atributo 'ext_vector_type' se aplica somente a tipos inteiro ou de ponto flutuante",
|
||||
"esta macro de teste de recurso é ignorado (e retorna 0) no modo de compilação atual",
|
||||
"não é possível avaliar um inicializador agregado com vários elementos para uma união",
|
||||
"O %nd selecionado para a regravação do operador não retorna o tipo bool",
|
||||
"uma nova expressão que chama uma função de alocação específica da classe não pode ser avaliada como constante",
|
||||
"uma nova expressão de posicionamento não pode ser avaliada como constante",
|
||||
"excluir por meio de um ponteiro de subobjeto exige um destruidor virtual",
|
||||
"%npTd, com argumentos revertidos",
|
||||
"o operando de __INTADDR__ precisa ser deslocado do ponteiro nulo",
|
||||
"O constructo _genérico corresponde a vários tipos",
|
||||
"a outra correspondência é %t",
|
||||
"o atributo 'availability' usado aqui é ignorado",
|
||||
"A instrução inicializadora no estilo C++20 em uma instrução 'for' com base em intervalos não é padrão neste modo",
|
||||
"co_await pode ser aplicado somente a uma instrução 'for' baseada em intervalos",
|
||||
"não é possível deduzir o tipo de intervalo no loop 'for' com base em intervalos",
|
||||
"as variáveis embutidas são um recurso do C++17",
|
||||
"a destruição do operador de exclusão exige %t como primeiro parâmetro",
|
||||
"a destruição de um operador de exclusão não pode ter parâmetros diferentes de std::size_t e std::align_val_t",
|
||||
"opções de classe abstrata reduzidas podem ser usadas somente ao compilar C++",
|
||||
"início de expressão inválido na cláusula requires",
|
||||
"uma expressão de conversão em uma cláusula requires precisa estar entre parênteses",
|
||||
"este operador não pode aparecer no nível superior (sem parênteses) em uma cláusula requires",
|
||||
"a restrição atômica precisa ter o tipo bool",
|
||||
"falha na substituição de restrição atômica",
|
||||
"restrição atômica não constante",
|
||||
"a restrição atômica é avaliada como false",
|
||||
"restrição de modelo não satisfeita",
|
||||
"a definição do conceito não pode aparecer neste escopo",
|
||||
"redeclaração inválida de %nd",
|
||||
"falha na substituição de argumentos %T da ID do conceito",
|
||||
"o conceito é falso para argumentos %T",
|
||||
"uma cláusula requires não é permitida aqui (não é uma função de modelo)",
|
||||
"modelo de conceito",
|
||||
"cláusula requires incompatível com %nfd",
|
||||
"um atributo é esperado",
|
||||
null,
|
||||
"um nome de tipo é esperado",
|
||||
"um parâmetro de reticências não é permitido em uma expressão requires",
|
||||
"o parâmetro sem nome na expressão requires não tem efeito",
|
||||
"um nome de conceito é esperado",
|
||||
"a chamada para %s que aparece em uma expressão de constante sempre produz 'true'",
|
||||
"a chamada para %s que aparece em um contexto consteval sempre produz 'true'",
|
||||
"a chamada para %s que aparece em uma função não constexpr sempre produz 'false'",
|
||||
"falha na restrição de tipo para %t",
|
||||
"a opção 'export' não pode ser usada em modos em que os módulos C++ estão habilitados",
|
||||
"uma declaração de fragmento de módulo global precisa preceder qualquer outra declaração",
|
||||
"uma declaração de módulo só pode ser precedida por um fragmento de módulo global",
|
||||
"um fragmento de módulo privado precisa ser precedido por uma declaração de módulo",
|
||||
"não é possível exportar um fragmento de módulo %s",
|
||||
"não é possível declarar mais de um módulo",
|
||||
"não é possível declarar mais de um fragmento de módulo %s",
|
||||
"um módulo precisa ser declarado com um nome não vazio",
|
||||
"%sq não é um cabeçalho importável",
|
||||
"não é possível importar um módulo sem nome",
|
||||
"um módulo não pode ter uma dependência de interface em si mesmo",
|
||||
"o módulo %sq já foi importado",
|
||||
"arquivo de módulo",
|
||||
"não foi possível localizar o arquivo de módulo %sq para importação",
|
||||
"não foi possível importar o arquivo de módulo %sq"
|
||||
"não foi possível localizar o arquivo de módulo para o módulo %sq",
|
||||
"não foi possível importar o arquivo de módulo %sq",
|
||||
"era esperado %s1, foi encontrado %s2",
|
||||
"ao abrir o arquivo de módulo %sq",
|
||||
"nome de partição desconhecido %sq",
|
||||
"um arquivo de módulo desconhecido",
|
||||
"um arquivo de módulo de cabeçalho importável",
|
||||
"um arquivo de módulo EDG",
|
||||
"um arquivo de módulo IFC",
|
||||
"um arquivo de módulo inesperado",
|
||||
"o tipo do segundo operando %t2 precisa ter o mesmo tamanho que %t1",
|
||||
"o tipo precisa ser fácil de ser copiado",
|
||||
"no momento, não há suporte para o tipo %t para a avaliação constexpr de __builtin_bit_cast",
|
||||
"no momento, não há suporte para os tipos de classe com bitfields %t na avaliação constexpr de __builtin_bit_cast",
|
||||
"o membro de dados não estático do tipo de referência %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"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",
|
||||
"%n precisa retornar nulo",
|
||||
"declaração de início de membro inválida",
|
||||
"'auto' era esperado",
|
||||
"este operador não é permitido neste ponto; coloque parênteses na nova expressão anterior",
|
||||
"uso inválido do conceito",
|
||||
"um operador de comparação de membros usado como padrão não pode ser qualificado por '&&'",
|
||||
"a função de comparação constexpr padrão chama a função não constexpr %nd",
|
||||
"Só há suporte para a comparação de memória constexpr para os objetos inteiros ou matriz de inteiro",
|
||||
"um modelo de conceito não pode ter restrições associadas",
|
||||
"'export' não é permitido",
|
||||
"a exportação de membros de classe individuais não é permitida",
|
||||
"uma declaração exportada precisa introduzir um nome",
|
||||
"uma declaração export não pode conter uma declaração export (declaração anterior %p)",
|
||||
"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",
|
||||
"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",
|
||||
"a variável constinit requer uma inicialização dinâmica",
|
||||
"a variável foi declarada anteriormente com 'constinit' %p",
|
||||
"uso de declarador de função sem protótipo",
|
||||
"o argumento não pode ter um tipo qualificado como const",
|
||||
"um ponteiro para membro de um tipo incompleto %t não é permitido",
|
||||
"a expansão de pacote em init-capture não está habilitada neste modo",
|
||||
"a expansão de pacote em init-capture é um recurso do C++20",
|
||||
"um operador de comparação usado como padrão em uma definição de classe precisa ser a primeira declaração desse operador de comparação (%nd)",
|
||||
"uma expansão de pacote em um init-capture pode ser usada somente em um modelo variádico",
|
||||
"a restrição de tipo usa %nd, que não é um conceito de tipo (ou seja, um modelo de conceito cujo primeiro parâmetro é um parâmetro de tipo)",
|
||||
"falha do tipo de espaço reservado deduzido %t na restrição de tipo",
|
||||
"o construtor padrão de %t não é qualificado",
|
||||
"o destruidor de %t é ambíguo devido a restrições não ordenadas",
|
||||
"o destruidor de %t é inelegível devido a falhas de restrições",
|
||||
"candidato a destruidor ambíguo",
|
||||
"uma função virtual não pode ter uma cláusula requires à direita",
|
||||
"%nd não satisfaz as respectivas restrições",
|
||||
"o resultado do qualificador decltype %t não é uma classe nem uma enumeração",
|
||||
"a comparação é ambígua no padrão de C++20 porque o operador de comparação implícito com parâmetros invertidos é uma correspondência igualmente boa. Isso geralmente é causado por um qualificador 'const' ausente no operador de comparação. Confira %nod",
|
||||
"ID do conceito inválida",
|
||||
"falha na substituição de argumentos %T da cláusula requires",
|
||||
"as restrições de %nd não estão satisfeitas",
|
||||
"o tipo de variável %t na função constexpr tem classes base virtuais",
|
||||
"uma expressão de constante não pode alocar um subobjeto base virtual (para o tipo %t)",
|
||||
"um parâmetro de modelo de tipo de classe precisa ser do tipo de classe estrutural",
|
||||
"o suporte para literais UTF-8 exige o suporte para o literal u.",
|
||||
"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",
|
||||
"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",
|
||||
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)",
|
||||
"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,
|
||||
"O %n não é um tipo de enumeração",
|
||||
"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 esse '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, #if, #else, #elseif, etc.)",
|
||||
"a importação de %sq foi ignorada"
|
||||
]
|
||||
@@ -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",
|
||||
"устаревший оператор назначения",
|
||||
"устаревший инициализатор",
|
||||
"необходимо использовать целое константное выражение",
|
||||
@@ -171,7 +171,7 @@
|
||||
"требуется объявление",
|
||||
"указатель указывает на элемент вне базового объекта",
|
||||
"недопустимое преобразование типа",
|
||||
"внешнее или внутреннее связывание конфликтует с предыдущим объявлением",
|
||||
"конфликт внешнего или внутреннего связывания с предыдущим объявлением %p",
|
||||
"значение с плавающей запятой не помещается в необходимом целом типе",
|
||||
"выражение не имеет силы",
|
||||
"индекс вне диапазона",
|
||||
@@ -352,8 +352,8 @@
|
||||
"существует несколько операторов %sq, соответствующих этим операндам:",
|
||||
"первый параметр функции выделения должен иметь тип \"size_t\"",
|
||||
"функции выделения требуется тип возвращаемого значения \"void *\"",
|
||||
"функции изъятия требуется тип возвращаемого значения \"void\"",
|
||||
"первый параметр функции изъятия должен иметь тип \"void *\"",
|
||||
"функции освобождения требуется тип возвращаемого значения \"void\"",
|
||||
"первый параметр функции освобождения должен иметь тип \"void *\"",
|
||||
null,
|
||||
"необходимо использовать тип объекта",
|
||||
"базовый класс %t инициализирован",
|
||||
@@ -392,7 +392,7 @@
|
||||
"не удается вызвать функцию \"main\" или получить ее адрес",
|
||||
"невозможно указать новый инициализатор для массива",
|
||||
"функция-член %no не может быть повторно объявлена вне соответствующего класса",
|
||||
"использование указателя на тип неполного класса не допускается",
|
||||
"использование указателя на неполный тип класса %t не допускается",
|
||||
"использование ссылок на локальные переменные включающей функции не допускается",
|
||||
"используется постфиксная форма функции с одним аргументом %sq (устаревший элемент)",
|
||||
null,
|
||||
@@ -420,9 +420,9 @@
|
||||
"применяется несколько функций преобразования из %t во встроенный тип:",
|
||||
"константа %n",
|
||||
"ссылка %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"встроенный оператор %sq",
|
||||
"%no (неоднозначное наследование)",
|
||||
"%nod, неоднозначный по наследованию",
|
||||
"получение адреса конструктора или деструктора не допускается",
|
||||
null,
|
||||
"временно используется в качестве начального значения для ссылки на неконстантный параметр (устаревший элемент)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n не является шаблоном класса",
|
||||
"нестандартный массив с неполным типом элементов",
|
||||
"оператор выделения нельзя объявить в пространстве имен",
|
||||
"оператор изъятия нельзя объявить в пространстве имен",
|
||||
"оператор освобождения нельзя объявить в пространстве имен",
|
||||
"%np1 конфликтует с объявлением using для %np2",
|
||||
"объявление using для %np1 конфликтует с %npd2",
|
||||
"параметр namespaces можно использовать только при компиляции C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"атрибуты переменной, появляющиеся после инициализатора в круглых скобках, пропущены",
|
||||
"результат этого приведения не может использоваться в качестве левостороннего значения",
|
||||
"отрицание значения с фиксированной запятой без знака",
|
||||
"использование данного оператора в этом месте не допускается; используйте круглые скобки",
|
||||
null,
|
||||
null,
|
||||
"имена регистра можно использовать только для регистровых переменных",
|
||||
"переменные named-register не могут иметь тип void",
|
||||
@@ -1535,7 +1535,7 @@
|
||||
"недопустимое значение cannot-redefine",
|
||||
"повторяющийся модификатор функции",
|
||||
"недопустимый знак для литерала char16_t",
|
||||
"__LPREFIX не может применяться к литералам char8_t, char16_t или char32_t",
|
||||
null,
|
||||
"нераспознанное соглашение о вызовах %s; необходимо использовать одно из следующих:",
|
||||
null,
|
||||
null,
|
||||
@@ -1670,7 +1670,7 @@
|
||||
"квалификатор типа не разрешен на конструкторе или деструкторе",
|
||||
"квалификатор типа не разрешается на операторах new или delete",
|
||||
"квалификатор типа не разрешен на функции не элементам",
|
||||
"выражение __assume с отмененными побочными эффектами",
|
||||
"аргумент для %s имеет побочные эффекты, но не вычислен",
|
||||
"нераспознанный вид источника Юникода (должен быть одним из следующих: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
|
||||
"символ Unicode с шестнадцатеричным значением %s не может быть представлен в выводных данных до обработки",
|
||||
"запрошенный приоритет конструктора/деструктора зарезервирован для внутреннего использования",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"локальная переменная вне текущей функции не может быть записана",
|
||||
"на вложенную функцию \"this\" нельзя ссылаться внутри тела лямбды, если она не находится в списке записей",
|
||||
null,
|
||||
"записанная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
|
||||
"зафиксированная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
|
||||
"недопустимый каталог шаблона: %s",
|
||||
"ошибка",
|
||||
"ошибки",
|
||||
@@ -2207,7 +2207,7 @@
|
||||
"поле initonly может изменяться только конструктором экземпляра или содержащим его классом",
|
||||
"статическое поле initonly может изменяться только статическим конструктором или содержащим его классом",
|
||||
"функция-член будет вызываться для копии поля initonly",
|
||||
"выражение должно иметь тип указателя или дескриптора",
|
||||
"выражение должно иметь тип указателя или дескриптора, но имеет тип %t",
|
||||
"конструктор перемещения или оператор назначения перемещения используется для копирования сюда значения lvalue, что может привести к потере исходного объекта",
|
||||
"для выбора члена в универсальной сущности %[C++/CLI] должен использоваться синтаксис \"->\", а не \".\"",
|
||||
"тип ссылочного класса не может быть производным от %t",
|
||||
@@ -2241,7 +2241,7 @@
|
||||
"небезопасный оператор reinterpret_cast дескриптора",
|
||||
"аргумент шаблона не может ссылаться на параметр универсального типа",
|
||||
"в этом операторе подстрочного знака не разрешен список выражений (заключите в скобки оператор запятой верхнего уровня)",
|
||||
"выражение должно содержать тип указателя на объект или дескриптора массива %[C++/CLI]",
|
||||
"выражение должно иметь тип указателя на объект или дескриптора массива %[C++/CLI], но имеет тип %t",
|
||||
"нераспознанный атрибут",
|
||||
"член класса %[managed] не может относиться к типу класса не %[managed]",
|
||||
"член класса не %[managed] не может содержать тип ссылочного класса или класса интерфейса",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"параметр #include <список_инициализатора> необходимо использовать перед std::initializer_list, включая неявное использование",
|
||||
"невозможно использовать ключевое слово inline в объявлении псевдонима пространства имен",
|
||||
"предыдущее объявление %n не было выполнено в строке",
|
||||
"повторное объявление встроенного параметра %n должно выполняться в строке",
|
||||
"%n ранее был объявлен как встроенный",
|
||||
"первым аргументом должна являться целочисленная константа",
|
||||
"Указатель не может использоваться с неагрегатным типом %t.",
|
||||
"Указатель элемента анонимного объединения может быть только в фигурных скобках, соответствующих этому анонимному объединению.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"конструктор constexpr должен инициализировать прямой базовый класс %t",
|
||||
"создание объекта std::initializer_list в инициализаторе полей, вероятно, не будет работать, как ожидается, потому что базовый массив будет разрушен в конце полного выражения",
|
||||
"выражение \"this\" не может использоваться в константном выражении",
|
||||
"пустой инициализатор для этого типа объединения не допускается (непонятно, какой из членов должен инициализироваться)",
|
||||
null,
|
||||
"\"constexpr\" не допускается в директиве явного создания экземпляра",
|
||||
"не удается определить спецификацию исключения конструктора по умолчанию из-за кольцевой зависимости",
|
||||
"определенный анонимным объединением %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"недопустимый квалификатор для %t (использование производного класса не допускается)",
|
||||
"атрибут always_inline пропускается в функциях, не являющихся встраиваемыми",
|
||||
"наследуемые конструкторы должны наследоваться от прямого базового класса",
|
||||
"%np уже наследуется от %t",
|
||||
null,
|
||||
"ожидается метка",
|
||||
"после \"%%l\" ожидается номер операнда",
|
||||
"номер операнда для \"%%l\" не указывает на допустимый аргумент метки",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"удаленные функции — это функция C++ 11",
|
||||
"функции по умолчанию — это функция C++ 11",
|
||||
"класс хранения недопустим в явной специализации",
|
||||
"%t не является классом или ограниченным перечислением.",
|
||||
null,
|
||||
"чтобы быть специализированным, неограниченное перечисление должно быть непрозрачным",
|
||||
"объявление шаблона перечисления должно ссылаться на ранее объявленный член шаблона класса",
|
||||
"требуется векторный операнд",
|
||||
@@ -2682,7 +2682,7 @@
|
||||
"выражение co_await запрещено использовать внутри предложения catch",
|
||||
"Сопрограмма не может иметь параметр-многоточие.",
|
||||
"для включения constexpr в стиле C++ 14 требуется поддержка bool",
|
||||
"функция constexpr %nd не определена",
|
||||
"constexpr %nd не определено",
|
||||
"невозможно вычислить этот вызов, так как целевая функция %nd не является функцией constexpr или пока еще не определена полностью",
|
||||
"примечание",
|
||||
"Примечание",
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"переменная не может иметь незавершенный тип %t",
|
||||
"доступ к неинициализированному подобъекту (%n)",
|
||||
"доступ к неинициализированному подобъекту (базовый класс: %t)",
|
||||
"вызов пустого деструктора",
|
||||
"вызов псевдодеструктора не разрешен в константном выражении",
|
||||
"попытка изменить хранилище констант",
|
||||
null,
|
||||
null,
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"тип элемента вектора должен быть целым числом, перечислением или действительным числом с плавающей запятой",
|
||||
"встроенная функция недоступна, так как 128-разрядные целые числа не поддерживаются",
|
||||
"встроенная функция недоступна, так как векторные типы не поддерживаются",
|
||||
"две левые квадратные скобки подряд могут представлять только список атрибутов",
|
||||
"две последовательных левых квадратных скобки всегда вводят список атрибутов, но список атрибутов не может быть указан здесь",
|
||||
"нераспознанный атрибут target блокирует использование этой процедуры процедурой сопоставителя",
|
||||
"%t не является векторным типом",
|
||||
"векторные типы %t1 и %t2 должны иметь одинаковую длину",
|
||||
@@ -2806,11 +2806,11 @@
|
||||
"инициализатор члена по умолчанию запрещен в классе значений",
|
||||
"--implicit_noexcept требует режим, включающий noexcept",
|
||||
"не удается свернуть операцию с участием виртуального базового класса (%t)",
|
||||
null,
|
||||
"инициализация не является постоянной.",
|
||||
"не удается вычислить значение неполного %t",
|
||||
"пропуск возвращаемого значения от процедуры, объявленной с помощью атрибута nodiscard",
|
||||
"пропуск типа возвращаемого значения с атрибутом nodiscard",
|
||||
"атрибут nodiscard не применяется к конструкторам, деструкторам или процедурам с возвращаемым значением void",
|
||||
"атрибут \"nodiscard\" не применяется к деструкторам или процедурам с типом возвращаемого значения void",
|
||||
"атрибут fallthrough применим только к операторам null",
|
||||
"атрибут fallthrough может использоваться только во внешнем операторе switch",
|
||||
"оператору fallthrough должна предшествовать метка switch case или default",
|
||||
@@ -2821,7 +2821,7 @@
|
||||
"__has_include запрещено указывать за пределами #if",
|
||||
"не удалось добавить базовый класс CComCoClass",
|
||||
"не является строкой, оканчивающейся нулевым символом",
|
||||
"нескалярный тип %t невозможно использовать в вызове пустого деструктора",
|
||||
"нескалярный тип %t не может использоваться в вызове псевдодеструктора",
|
||||
"адрес \"слабого\" %n не является постоянным",
|
||||
"слишком много рекурсивных подстановок для сигнатур шаблона функции",
|
||||
"Недопустимый описатель для объявления структурированной привязки.",
|
||||
@@ -3116,13 +3116,13 @@
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"требуется \">>>\"",
|
||||
"не удается найти объявление __cudaPushCallConfiguration. Установка набора инструментов CUDA может быть повреждена.",
|
||||
"Инициализатор в стиле C++17 является нестандартным в этом режиме",
|
||||
"захват значения *this является нестандартным в этом режиме",
|
||||
"Префикс атрибута using в стиле C++17 является нестандартным в этом режиме",
|
||||
"Вложенные пространства имен в стиле C++17 являются нестандартными в этом режиме",
|
||||
"constexpr и consteval не могут присутствовать в объявлении вместе",
|
||||
"в объявлении может использоваться только одно из ключевых слов \"constexpr\", \"consteval\" и \"constinit\"",
|
||||
"в этом режиме функция не может быть consteval и virtual одновременно",
|
||||
"consteval не допускается в директиве явного создания экземпляра",
|
||||
"consteval здесь не допускается",
|
||||
@@ -3166,17 +3166,17 @@
|
||||
"атрибут \"internal_linkage\" отсутствует в предыдущем объявлении",
|
||||
"Не найдено подходящего кандидата для дедукции аргумента шаблона для %n.",
|
||||
"полный вызов конструктора не допускается",
|
||||
"оператор сравнения можно использовать по умолчанию только в определении класса",
|
||||
"оператор сравнения по умолчанию должен быть членом или дружественным классом класса, к которому он применяется",
|
||||
"недопустимый тип %t для параметра оператора сравнения по умолчанию (необходимо указать ссылку на константу X, где X — тип включающего класса)",
|
||||
"необходимо использовать возвращаемый тип оператора сравнения по умолчанию \"bool\"",
|
||||
"необходимо использовать оператор сравнения элемента по умолчанию \"const\"",
|
||||
"В этом классе определено больше одного оператора \"<=>\" по умолчанию.",
|
||||
null,
|
||||
"Для типа обещания сопрограммы %t не могут быть одновременно заданы \"return_void\" и \"return_value\".",
|
||||
"Значение \"return_value\" имеет объявление %p.",
|
||||
"\"return_void\" было объявлено как %p",
|
||||
"Отсутствует оператор co_return, хотя %t не содержит \"return_void\" в конце %n.",
|
||||
"Для распределения состояния сопрограммы не обнаружено ни одного nothrow-варианта глобального \"operator new\".",
|
||||
"Для отмены выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
|
||||
"Для освобождения выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
|
||||
"Функция constexpr не может быть сопрограммой.",
|
||||
"операнд для этого выражения %s разрешается в %t, не являющийся классом",
|
||||
"выражение co_await не допускается в статическом инициализаторе",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"в %t не найдено ни одного элемента статических данных constexpr %sq",
|
||||
"слишком большое число элементов (%d) для динамического распределения",
|
||||
"слишком большой запрос динамического выделения constexpr",
|
||||
"отмена распределения хранилища, которое не было распределено динамически",
|
||||
"размер отмены распределения (%d1) не соответствует выделенному размеру (%d2)",
|
||||
"освобождение хранилища, которое не было распределено динамически",
|
||||
"размер освобождения распределения (%d1) не соответствует выделенному размеру (%d2)",
|
||||
"место распределения",
|
||||
"тип отмены распределения (%t1) не соответствует типу распределения (%t2)",
|
||||
"тип освобождения (%t1) не соответствует типу распределения (%t2)",
|
||||
"не удалось отменить некоторые динамические распределения (общее число: %d)",
|
||||
"встроенный %n объявлен с непредвиденной сигнатурой (тип %t)",
|
||||
">> вывод из std::__report_constexpr_value",
|
||||
@@ -3219,8 +3219,178 @@
|
||||
"атрибут \"ext_vector_type\" может присутствовать только в typedef",
|
||||
"атрибут \"ext_vector_type\" применяется только к целочисленным типам или типам с плавающей запятой",
|
||||
"этот макрос тестирования компонента пропускается (и возвращает 0) в текущем режиме компиляции",
|
||||
"Невозможно вычислить агрегатный инициализатор со множеством элементов для объединения.",
|
||||
"невозможно вычислить агрегатный инициализатор со множеством элементов для объединения",
|
||||
"%nd, выбранный для перезаписи оператора, не возвращает логический тип",
|
||||
"new-expression, вызывающее функцию выделения для конкретного класса, не может быть вычислено в константном выражении",
|
||||
"Выражение placement new не может быть вычислено как константное.",
|
||||
"для удаления через указатель на подобъект требуется виртуальный деструктор",
|
||||
"%npTd с аргументами в обратном порядке",
|
||||
"операнд __INTADDR__ должен содержать смещение от нулевого указателя",
|
||||
"Конструкция _Generic соответствует нескольким типам",
|
||||
"другое совпадение — %t",
|
||||
"Использованный здесь атрибут \"Availability\" игнорируется.",
|
||||
"Оператор инициализатора в стиле C++20 в операторе for на основе диапазонов является нестандартным в этом режиме.",
|
||||
"co_await можно применить только к оператору for на основе диапазонов.",
|
||||
"Невозможно вывести тип диапазона в цикле for на основе диапазона.",
|
||||
"встроенные переменные — это функция C++17",
|
||||
"для оператора удаления delete необходимо указать %t в качестве первого параметра",
|
||||
"оператор удаления delete не может иметь параметров, типы которых отличаются от std::size_t и std::align_val_t",
|
||||
"Нестрогие параметры абстрактного класса можно использовать только при компиляции C++.",
|
||||
"Недопустимое начало выражения в предложении requires",
|
||||
"Выражение приведения в предложении requires должно быть заключено в круглые скобки",
|
||||
"Этот оператор не может находиться на верхнем уровне (без скобок) в предложении requires",
|
||||
"Атомарное ограничение должно иметь тип bool",
|
||||
"Ошибка при подстановке атомарного ограничения",
|
||||
"Атомарное ограничение не является константой",
|
||||
"Вычисление атомарного ограничения дает значение false",
|
||||
"Ограничение шаблона не соблюдено",
|
||||
"Определение концепции не может находиться в этой области",
|
||||
"Недопустимое повторное объявление %nd",
|
||||
"не удалось подставить аргументы %T для идентификатора концепции",
|
||||
"концепция имеет значение false для аргументов %T",
|
||||
"Использование здесь предложения requires запрещено (не шаблонная функция)",
|
||||
"шаблон концепции",
|
||||
"Предложение requires несовместимо с %nfd",
|
||||
"ожидается атрибут",
|
||||
null,
|
||||
"Требуется имя типа",
|
||||
"Использование параметра-многоточия в выражении requires запрещено",
|
||||
"Неименованный параметр в выражении requires не оказывает никакого влияния",
|
||||
"требуется имя концепции",
|
||||
"Вызов %s в константном выражении всегда дает результат \"true\"",
|
||||
"Вызов %s в контексте consteval всегда дает результат \"true\"",
|
||||
"Вызов %s в функции, отличной от constexpr, всегда дает результат \"false\"",
|
||||
"сбой ограничения типа для %t",
|
||||
"Параметр \"export\" запрещено использовать в режимах, где включены модули C++",
|
||||
"Объявление фрагмента глобального модуля должно предшествовать любому другому объявлению",
|
||||
"Объявлению модуля может предшествовать только фрагмент глобального модуля",
|
||||
"Фрагменту закрытого модуля должно предшествовать объявление модуля",
|
||||
"Не удается экспортировать фрагмент модуля %s",
|
||||
"Невозможно объявить более одного модуля",
|
||||
"Невозможно объявить больше одного фрагмента модуля %s",
|
||||
"Модуль должен быть объявлен с непустым именем",
|
||||
"%sq не является пригодным для импорта заголовком",
|
||||
"Невозможно импортировать модуль без имени",
|
||||
"Модуль не может иметь зависимость интерфейса от самого себя",
|
||||
"Модуль %sq уже импортирован",
|
||||
"файл модуля",
|
||||
"не удалось найти файл модуля %sq для импорта",
|
||||
"не удалось импортировать файл модуля %sq"
|
||||
"не удалось найти файл модуля для модуля %sq",
|
||||
"не удалось импортировать файл модуля %sq",
|
||||
"ожидалось %s1, но было найдено %s2",
|
||||
"При открытии файла модуля %sq",
|
||||
"Неизвестное имя раздела %sq",
|
||||
"неизвестный файл модуля",
|
||||
"импортируемый файл модуля заголовка",
|
||||
"файл модуля EDG",
|
||||
"файл модуля IFC",
|
||||
"непредвиденный файл модуля",
|
||||
"тип второго операнда %t2 должен иметь тот же размер, что и %t1.",
|
||||
"тип должен поддерживать элементарное копирование.",
|
||||
"тип %t сейчас не поддерживается в вычислении constexpr для __builtin_bit_cast.",
|
||||
"типы классов с битовыми полями %t сейчас не поддерживаются в вычислении constexpr для __builtin_bit_cast.",
|
||||
"нестатические элементы данных ссылочного типа %t не позволяют выполнять вычисление constexpr для __builtin_bit_cast.",
|
||||
"непостоянный тип %t не позволяет выполнять вычисление constexpr для __builtin_bit_cast",
|
||||
"тип %t объединения, указателя или указателя на элемент не позволяет выполнять вычисление constexpr для __builtin_bit_cast.",
|
||||
"%npTd, унаследованный с помощью decl %p",
|
||||
"невозможно выполнить конструирование подобъекта %t для наследования конструкторов — неявный конструктор по умолчанию удален.",
|
||||
"%n требует возврата void.",
|
||||
"недопустимое начало объявления элемента",
|
||||
"ожидается \"auto\"",
|
||||
"этот оператор не может использоваться в этом месте; заключите предыдущее выражение new в скобки",
|
||||
"недопустимое использование концепции",
|
||||
"оператор сравнения элемента по умолчанию не может быть квалифицирован как \"&&\"",
|
||||
"функция сравнения constexpr по умолчанию вызывает функцию %nd, не являющуюся constexpr",
|
||||
"сравнение памяти с помощью constexpr поддерживается только для целых чисел и для массивов целых чисел",
|
||||
"шаблон концепции не может иметь связанные ограничения",
|
||||
"использование \"export\" запрещено",
|
||||
"экспорт отдельных членов класса запрещен",
|
||||
"экспортированное объявление должно представлять имя",
|
||||
"объявление экспорта не может содержать объявление экспорта (предыдущее объявление %p)",
|
||||
"объявление экспорта не может содержать объявление импорта модуля",
|
||||
"объявление экспорта может находиться только в блоке интерфейса модуля",
|
||||
"объявление экспорта не может экспортировать имя с внутренней компоновкой",
|
||||
"объявление using включает %nfd",
|
||||
"встроенная функция недоступна, так как типы с плавающей запятой __fp16 не поддерживаются",
|
||||
"в выражении requires должно быть указано по крайней мере одно требование",
|
||||
"\"constinit\" не может использоваться здесь",
|
||||
"\"constinit\" может использоваться только для объявлений переменных со сроком хранения в статическом или потоковом хранилище",
|
||||
"для переменной constinit требуется динамическая инициализация",
|
||||
"переменная ранее была объявлена с \"constinit\" %p",
|
||||
"использование объявления функции, не являющегося прототипом",
|
||||
"аргумент не может иметь тип, квалифицированный как const",
|
||||
"недопустимый указатель на член неполного типа %t",
|
||||
"расширение пакета в init-capture не включено в этом режиме",
|
||||
"расширение пакета в init-capture — это функция C++ 20",
|
||||
"оператор сравнения по умолчанию в определении класса должен быть первым объявлением этого оператора сравнения (%nd)",
|
||||
"расширение пакета в init-capture может быть использовано только в шаблоне с переменным числом аргументов",
|
||||
"ограничение типа использует %nd, не являющийся концепцией типа (например, шаблон концепции, первый параметр которого является параметром типа)",
|
||||
"выведенный тип заполнителя %t не отвечает ограничению типа",
|
||||
"конструктор по умолчанию для %t не соответствует требованиям",
|
||||
"деструктор для %t является неоднозначным из-за неупорядоченных ограничений",
|
||||
"деструктор для %t не соответствует требованиям из-за несоблюденных ограничений",
|
||||
"неоднозначный кандидат деструктора",
|
||||
"виртуальная функция не может иметь завершающее предложение requires",
|
||||
"%nd не удовлетворяет его ограничениям",
|
||||
"результат квалификатора decltype %t не является классом или перечислением",
|
||||
"cравнение является неоднозначным в стандартном C++ 20, поскольку подразумеваемый оператор сравнения с обратными параметрами является в той же степени подходящим соответствием — как правило, это вызвано отсутствием квалификатора \"const\" в операторе сравнения; см. %nod",
|
||||
"недопустимый идентификатор концепции",
|
||||
"не удалось подставить аргументы %T для предложения requires",
|
||||
"ограничения для %nd не удовлетворены",
|
||||
"тип переменной %t в функции constexpr содержит виртуальные базовые классы",
|
||||
"константное выражение не может выделить виртуальный базовый подобъект (для типа %t)",
|
||||
"параметр шаблона для типа класса должен иметь тип структурного класса",
|
||||
"для поддержки литералов UTF-8 требуется поддержка u-literal.",
|
||||
"сопоставление файла модуля для \"%s\" указано несколько раз",
|
||||
"сопоставление блока заголовка для \"%s\" указано несколько раз",
|
||||
"сопоставление для \"%s\" не указано",
|
||||
"сопоставление файла модуля для \"%s\" является недопустимым",
|
||||
"не удается найти заголовок \"%s\" для импорта",
|
||||
"несколько файлов в списке файлов модулей соответствуют \"%s\"",
|
||||
"файл модуля, обнаруженный для \"%s\", относится к другому модулю",
|
||||
"любой тип файла модуля",
|
||||
"не удалось прочитать файл модуля",
|
||||
"встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.",
|
||||
null,
|
||||
"нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию.",
|
||||
"источник или назначение встроенной функции, похожей на memcpy, не указывает на объект",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать различные с точки зрения представления типы %t1 и %t2",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать нетривиально копируемый тип %t",
|
||||
"Встроенная функция, похожая на memcpy, пытается скопировать частичный объект",
|
||||
"Встроенная функция, похожая на memcpy, пытается выполнить копирование за границей массива",
|
||||
"Встроенная функция, похожая на 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 был пропущен"
|
||||
]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user