LDC 1.14.0 发布,高性能 dlang 编译器

栏目: 服务器 · 编程工具 · 发布时间: 5年前

内容简介:LDC 是一个高性能的 D 语言编译器。LDC 1.14.0 新版本更新亮点如下:

LDC 是一个高性能的 D 语言编译器。LDC 1.14.0 新版本更新亮点如下:

  • 支持 D 语言最新版本 2.084.1.

  • 增强对 WebAssembly 的兼容性

  • 改进 Windows 32 位系统安装包形式

  • 纤程改进

  • 其他稳定性提升

完整更新日志(英文)

Big news

  • Frontend, druntime and Phobos are at version 2.084.1 , incl. new command-line options -mixin , -{enable,disable}-switch-errors and -checkaction . ( #2946 , #2977 , #2999 ) (new)
    • Options -release , -d-debug and -unittest don't override preceding, more specific options ( -{enable,disable}-{asserts,invariants,preconditions,postconditions,contracts} ) anymore.
  • Linking WebAssembly doesn't require -link-internally (integrated LLD) anymore; an external linker (default: wasm-ld , override with -linker ) can be used as well. ( #2951 )
  • Prebuilt Windows packages include LTO-able 32-bit druntime/Phobos too (previously: Win64 only).
  • AddressSanitizer support for fibers (requires rebuilding the runtime libraries with CMake option RT_SUPPORT_SANITIZERS=ON ). ( #2975 , ldc-developers/druntime#152 ) (new)
  • Support pragma(LDC_extern_weak) for function declarations - if the function isn't available when linking, its address is null. ( #2984 ) (new)

Platform support

  • Supports LLVM 3.9 - 7.0.

Bug fixes

  • Fix C++ mangling regression for functions with multiple real parameters introduced with v1.13, preventing to build DMD. ( #2954 , dlang/dmd#9129 )
  • Fix context of some nested aggregates. ( #2960 , #2969 )
  • Support templated LLVM intrinsics with vector arguments. ( #2962 , #2971 )
  • Avoid crashes with -allinst (fix emission of only speculatively nested functions). ( #2932 , #2940 )
  • Fix XRay support for LLVM 7+. ( #2965 )
  • AArch64: Fix DMD-style profile measurements. ( #2950 )
  • Be less picky about placement of pragmas (allow intermediate extern(C) etc.). ( #2599 )
  • MSVC: Fix real C++ mangling to match Visual C++ long double . ( #2974 )
  • Fix bad ICE noticed when building protobuf-d. ( #2990 , #2992 ) (new)
  • Fix ICE when directly indexing vector return value. ( #2988 , #2991 ) (new)
  • Fix identity comparisons of complex numbers. ( #2918 , #2993 ) (new)
  • MIPS32 fix for core.stdc.stdarg . ( #2989 , ldc-developers/druntime#153 ) (new)
  • Fix core.atomic.cas() for 64-bit floating-point values. ( #3000 , #3001 ) (new)
  • beta1 regression: 'Instruction does not dominate all uses' ( #2996 , #2997 ) (new)

Known issues

  • 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.
  • 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.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Stylin' with CSS

Stylin' with CSS

Wyke-Smith, Charles / 2012-10 / $ 50.84

In this completely revised edition of his bestselling Stylin' with CSS, veteran designer and programmer Charles Wyke-Smith guides you through a comprehensive overview of designing Web pages with CSS, ......一起来看看 《Stylin' with CSS》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具