Π‘ΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Π½Π°Π±ΠΎΡΠ° GCC-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ LLVM. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Π² ΡΠΎΡΡΠ°Π² Π²ΠΎΡΡΠ» Flang – ΡΡΠΎΠ½ΡΡΠ½Π΄ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Π€ΠΎΡΡΡΠ°Π½.
ΠΠ· Π·Π½Π°ΡΠΈΠΌΠΎΠ³ΠΎ:
- ΠΠ°ΡΠ°ΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python 3. 2-Ρ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΡΡ Π΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ «Π·Π°ΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ» (fallback) Π²Π°ΡΠΈΠ°Π½ΡΠ°.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ AST, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. ΠΡΠΈΠΌΠ΅Ρ
- ΠΠΎΠ²ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ: -Wpointer-to-int-cast, -Wuninitialized-const-reference ΠΈ -Wimplicit-const-int-float-conversion. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² _ExtInt(N), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠΏΡ Π½Π΅ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ. ΠΠ°, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ «ΠΈΠ½ΡΡ» ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ Π»ΡΠ±ΠΎΠΌΡ ΡΠΈΡΠ»Ρ!
- Π¦Π΅Π»Π°Ρ ΠΊΡΡΠ° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π² Clang, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½ΠΎΠ²ΡΠ΅ «ΡΠΈΡΠΈ» Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ x86, ARM ΠΈ RISC-V, ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ OpenCL (ΠΈ ROCm) ΠΈ OpenMP.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π² Release Notes:
https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/tools/polly/docs/ReleaseNotes.html
https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru