GCC 9.1


GCC 9.1

Vào ngày 3 tháng 9.1, phiên bản thứ chín của GCC đã diễn ra phiên bản công khai đầu tiên: GCC XNUMX.
Nó chứa nhiều cải tiến và bổ sung đáng kể so với phiên bản thứ tám
phiên bản.

Những thay đổi chung

Tùy chọn
Các tính năng tích hợp mới
Thuộc tính mới
Khác

Nhiều cải tiến tạo mã liên quan đến:

  • tạo ra các cấu trúc chuyển mạch;
  • tối ưu hóa liên thủ tục;
  • tối ưu hóa dựa trên thông tin hồ sơ;
  • tối ưu hóa ở giai đoạn lắp ráp (LTO);

Ngoài ra định dạng nội bộ của gcov hiện là JSON và tùy chọn mới --use-hotness-màu sắc liên quan đến việc tô màu các dòng mã dựa trên tần suất chúng được sử dụng.

Ngôn ngữ

Chất lượng và tính đầy đủ của việc thực hiện mởACC các ngôn ngữ C, C++ và Fortran tiếp tục được cải thiện.

ngôn ngữ giống C
  • Hỗ trợ một phần cho OpenMP 5.0 đã được triển khai;
  • Đã thêm chức năng __buildin_convertvector;
  • Đã thêm cảnh báo -Waddress-of-đóng gói-thành viên;
  • Cải tiến một số cảnh báo hiện có;
  • Văn bản lỗi khi chuyển sai số lượng đối số cho macro hiện bao gồm phần khai báo của chính macro đó;
  • Cải tiến đề xuất sửa lỗi chính tả.
C
  • Hỗ trợ _Static_assert với một đối số cho -std=c2x (tiêu chuẩn C trong tương lai);
  • Cảnh báo mới -Wabsolute-giá trị, bắt được loại đối số sai cho các hàm như abs().
C + +
  • Cảnh báo mới: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-di chuyển,
    -Wpessimizing-di chuyển,
    -Chuyển đổi lớp W;
  • Công việc đang được tiến hành để triển khai các tính năng mới từ tiêu chuẩn tương lai C++2a;
  • Giao diện người dùng hiện lưu trữ thông tin chính xác hơn về một số thành phần mã nguồn, cho phép bạn hiển thị thông tin chi tiết hơn trong chẩn đoán;
  • Cải thiện chẩn đoán cho các hàm quá tải, toán tử nhị phân, lệnh gọi hàm và chuỗi định dạng;
  • Đã thêm các bản sửa lỗi tự động được một số môi trường phát triển hỗ trợ đối với một số lỗi phổ biến (thiếu dấu ngoặc đơn, không gian tên, lỗi chính tả, v.v.).
libstdc ++
  • Việc triển khai C++17 không còn mang tính thử nghiệm nữa;
  • Đã thêm các thuật toán song song, , , MỘT không còn yêu cầu -lstdc++fs;
  • Cải thiện hỗ trợ thử nghiệm cho C++ 2a ( , , std::bind_front, v.v.);
  • Hỗ trợ mở luồng file trên Windows có đường dẫn chứa ký tự không phải char;
  • Hỗ trợ ban đầu trên Windows;
  • Hỗ trợ ban đầu cho Networking TS.
D

Phiên bản ngôn ngữ D 2.076 được bao gồm trong GCC.

Fortran
  • Hỗ trợ đầy đủ cho I/O không đồng bộ;
  • Đã triển khai đối số BACK cho MINLOC và MAXLOC;
  • Đã triển khai các hàm FINDLOC và IS_CONTIGOUS;
  • Cú pháp truy cập các thành phần của số phức đã được triển khai: c%re và c%im;
  • Đã triển khai cú pháp str%len và a%kind;
  • Đã triển khai bộ mô tả C và tiêu đề ISO_Fortran_bind.h;
  • Giảm bớt các yêu cầu đối với kết quả của hàm MAX và MIN khi một trong các đối số là NaN;
  • Tùy chọn đã thêm -fdec-bao gồm;
  • Đã thêm chỉ thị ĐƯỢC XÂY DỰNG TRONG.
libgccjit

Khác

Nhiều thay đổi cụ thể về kiến ​​trúc và hệ điều hành.

Nguồn: linux.org.ru

Thêm một lời nhận xét