歡迎您光臨本站 註冊首頁

LDC 1.18.0 發布,高性能 D 語言編譯器

←手機掃碼閱讀     admin @ 2019-10-23 , reply:0

LDC 是一個高性能的 D 語言編譯器,後端基於 LLVM 架構生成跨平台的二進位文件,生成的二進位執行程序性能強勁。

最近 LDC 社區的開發效率比較高,可以迅速的跟進 DMD 編譯器的新特性和 BUG 修復,本身也有很好的跨平台支持特性,包含 WebAssembly / Android / FreeBSD on PowerPC 等平台。

版本重要特性:

  1. D 語言版本支持升級到最新穩定版 2.088.1
  2. 支持最新的 LLVM 9.0 架構
  3. Preliminary Android CI, incl. experimental prebuilt armv7a package generation (API level 21, i.e., Android 5+). (#3164)
  4. 升級內置的 dub 版本到 1.17.0+ (因為此版本改進了 dub 對 LDC 編譯器的支持) (dlang/dub#1755, Wiki)
  5. Init symbols of zero-initialized structs are no longer emitted. (#3131)
  6. druntime: DMD-compatible {load,store}Unaligned and prefetch added to core.simd. (ldc-developers/druntime#163)
  7. JIT improvements, incl. multi-threaded compilation. (#2758, #3154, #3174

支持的 LLVM 架構版本:

  • Supports LLVM 3.9 - 9.0.

Bug 修復:

  1. Don't error out when initializing a void vector. (#3130, #3139)
  2. druntime: Fix exception chaining for latest MSVC runtime v14.23, shipping with Visual Studio 2019 v16.3. (ldc-developers/druntime#164)
  3. Keep lvalue-ness when casting associative array to another AA. (#3162, #3179) (new)
  4. druntime: Fix regression for POSIX systems without backtrace[_symbols], introduced in beta1. (#3165, dlang/druntime#2796)
  5. Fix compilability regression with make, introduced in beta2. (#3188, #3191) (new)

其他問題處理:

  1. Buggy older ld.bfd linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module ctors/dtors are run). LDC defaults to ld.gold on Linux.
  2. LDC does not zero the padding area of a real variable. This may lead to wrong results if the padding area is also considered. See #770. Does not apply to real members inside structs etc.

[admin ]

來源:OsChina
連結:https://www.oschina.net/news/110782/ldc-1-18-0-released
LDC 1.18.0 發布,高性能 D 語言編譯器已經有110次圍觀

http://coctec.com/news/all/show-post-217514.html