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.

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

查看所有标签

猜你喜欢:

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

Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)

Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)

刘长龙 / 电子工业出版社 / 2019-1 / 99

也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python 3及相关Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)》分为3篇:上篇是Python基础,带领初学者实践Python开发环境,掌握......一起来看看 《Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

HEX CMYK 互转工具

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

HSV CMYK互换工具