GCC 9.1

ಮೇ 3 ರಂದು, GCC ಯ ಒಂಬತ್ತನೇ ಆವೃತ್ತಿಯ ಮೊದಲ ಸಾರ್ವಜನಿಕ ಬಿಡುಗಡೆ ನಡೆಯಿತು: GCC 9.1.
ಎಂಟನೆಯದಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಇದು ಅನೇಕ ಗಮನಾರ್ಹ ಸುಧಾರಣೆಗಳು ಮತ್ತು ಸೇರ್ಪಡೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ
ಆವೃತ್ತಿ.

ಸಾಮಾನ್ಯ ಬದಲಾವಣೆಗಳು

ಆಯ್ಕೆಗಳು
  • ಗಾತ್ರವನ್ನು ಸ್ವೀಕರಿಸುವ ಆಜ್ಞೆಗಳು ಈಗ 64-ಬಿಟ್ ಮೌಲ್ಯಗಳು ಮತ್ತು ಗಾತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಪ್ರತ್ಯಯಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ;
  • ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -ಫ್ಲೈವ್-ಪ್ಯಾಚಿಂಗ್ಡೈನಾಮಿಕ್, ಕೋಡ್ ರಿಪ್ಲೇಸ್‌ಮೆಂಟ್‌ಗೆ ಸಂಭಾವ್ಯವಾಗಿ ವಿನಾಶಕಾರಿಯಾಗಿರುವ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು;
  • ಕಮಾಂಡ್ ಶೆಲ್‌ನಲ್ಲಿ ಸ್ವಯಂ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸಲು --ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಕಂಪೈಲರ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ಈಗ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ (-fno-ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್-ಶೋ-ಲೈನ್-ಸಂಖ್ಯೆಗಳು) ಮತ್ತು
    ಮಾಹಿತಿ ಪ್ರಕಾರ (fno-ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್-ಶೋ-ಲೇಬಲ್‌ಗಳು);
  • ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -fdiagnostics-format=json JSON ಸ್ವರೂಪದಲ್ಲಿ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ ಅನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಲು;
  • ಜೋಡಣೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಆಯ್ಕೆಗಳು (-ಫಾಲಿನ್-ಕಾರ್ಯಗಳು, ಉದಾಹರಣೆಗೆ) ಈಗ ಒಂದೆರಡು ಜೋಡಣೆ ಆಯ್ಕೆಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು;
  • ಫೈಲ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ (-fprofile-ಫಿಲ್ಟರ್-ಫೈಲ್‌ಗಳು, -fprofile-ಹೊರಗಿಡ-ಫೈಲ್‌ಗಳು), ಇವುಗಳನ್ನು ಪ್ರೊಫೈಲರ್‌ನಿಂದ ಉಪಕರಣ ಮಾಡಲಾಗುತ್ತದೆ;
  • ಸ್ಟಾಕ್‌ನಲ್ಲಿನ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಅಮಾನ್ಯ ಪ್ರವೇಶಗಳನ್ನು ಹಿಡಿಯಲು ವಿಳಾಸ ಸ್ಯಾನಿಟೈಜರ್ ಈಗ ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ಜೋಡಣೆಯನ್ನು ಬಳಸುತ್ತದೆ;
  • ಹಲವಾರು ಔಟ್ಪುಟ್ ಸುಧಾರಣೆಗಳು -fopt-ಮಾಹಿತಿ;
  • ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -fsave-ಆಪ್ಟಿಮೈಸೇಶನ್-ದಾಖಲೆ ಆಪ್ಟಿಮೈಸೇಶನ್ ವರದಿಯನ್ನು ಫೈಲ್‌ಗೆ ಉಳಿಸಲು;
  • ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -ಫಿಪಾ-ಸ್ಟಾಕ್-ಜೋಡಣೆ и -ಫಿಪಾ-ಉಲ್ಲೇಖ-ವಿಳಾಸ.
ಹೊಸ ಅಂತರ್ನಿರ್ಮಿತ ವೈಶಿಷ್ಟ್ಯಗಳು
ಹೊಸ ಗುಣಲಕ್ಷಣ
ಇತರೆ

ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಹಲವಾರು ಕೋಡ್ ಉತ್ಪಾದನೆ ಸುಧಾರಣೆಗಳು:

  • ಸ್ವಿಚ್ ರಚನೆಗಳ ಪೀಳಿಗೆಯ;
  • ಅಂತರ್-ಕಾರ್ಯವಿಧಾನದ ಆಪ್ಟಿಮೈಸೇಶನ್;
  • ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಹಿತಿಯ ಆಧಾರದ ಮೇಲೆ ಆಪ್ಟಿಮೈಸೇಶನ್;
  • ಅಸೆಂಬ್ಲಿ ಹಂತದಲ್ಲಿ ಆಪ್ಟಿಮೈಸೇಶನ್ (LTO);

gcov ನ ಆಂತರಿಕ ಸ್ವರೂಪವು ಈಗ JSON ಆಗಿದೆ ಮತ್ತು ಹೊಸ ಆಯ್ಕೆಯಾಗಿದೆ --ಉಪಯೋಗ-ಹಾಟ್ನೆಸ್-ಬಣ್ಣಗಳು ಎಷ್ಟು ಬಾರಿ ಬಳಸಲಾಗಿದೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಕೋಡ್‌ನ ಬಣ್ಣ ರೇಖೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

ಭಾಷೆಗಳು

ಅನುಷ್ಠಾನದ ಗುಣಮಟ್ಟ ಮತ್ತು ಸಂಪೂರ್ಣತೆ OpenACC C, C++, ಮತ್ತು Fortran ಭಾಷೆಗಳು ಸುಧಾರಿಸುತ್ತಲೇ ಇವೆ.

ಸಿ ತರಹದ ಭಾಷೆಗಳು
  • OpenMP 5.0 ಗಾಗಿ ಭಾಗಶಃ ಬೆಂಬಲವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ;
  • ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ __ಬಿಲ್ಟಿನ್_ಪರಿವರ್ತಕ;
  • ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -ವಡ್ರೆಸ್-ಆಫ್-ಪ್ಯಾಕ್ಡ್-ಸದಸ್ಯ;
  • ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಹಲವಾರು ಎಚ್ಚರಿಕೆಗಳಿಗೆ ಸುಧಾರಣೆಗಳು;
  • ಮ್ಯಾಕ್ರೋಗೆ ತಪ್ಪು ಸಂಖ್ಯೆಯ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ರವಾನಿಸುವಾಗ ದೋಷ ಪಠ್ಯವು ಈಗ ಮ್ಯಾಕ್ರೋನ ಘೋಷಣೆಯನ್ನು ಒಳಗೊಂಡಿದೆ;
  • ಮುದ್ರಣದೋಷ ತಿದ್ದುಪಡಿ ಸಲಹೆಗಳಿಗೆ ಸುಧಾರಣೆಗಳು.
C
  • -std=c2x (ಭವಿಷ್ಯದ C ಸ್ಟ್ಯಾಂಡರ್ಡ್) ಗಾಗಿ ಒಂದು ಆರ್ಗ್ಯುಮೆಂಟ್‌ನೊಂದಿಗೆ _Static_assert ಅನ್ನು ಬೆಂಬಲಿಸಿ;
  • ಹೊಸ ಎಚ್ಚರಿಕೆ -ವ್ಯಾಪಕ-ಮೌಲ್ಯ, ಇದು abs() ನಂತಹ ಕಾರ್ಯಗಳಿಗಾಗಿ ತಪ್ಪು ಆರ್ಗ್ಯುಮೆಂಟ್ ಪ್ರಕಾರವನ್ನು ಹಿಡಿಯುತ್ತದೆ.
ಸಿ ++
  • ಹೊಸ ಎಚ್ಚರಿಕೆಗಳು: -ಅಸಮ್ಮಿತ-ನಕಲು,
    -ವಿನಿಟ್-ಲಿಸ್ಟ್-ಜೀವಮಾನ,
    -ಅಪರಾಧ-ನಡೆ,
    -ಡಬ್ಲ್ಯೂಪೆಸಿಮೈಸಿಂಗ್-ಮೂವ್,
    -ವರ್ಗ-ಪರಿವರ್ತನೆ;
  • ಭವಿಷ್ಯದ ಮಾನದಂಡದಿಂದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅಳವಡಿಸಲು ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ C++2a;
  • ಮುಂಭಾಗವು ಈಗ ಹಲವಾರು ಮೂಲ ಕೋಡ್ ಅಂಶಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚು ನಿಖರವಾದ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಇದು ರೋಗನಿರ್ಣಯದಲ್ಲಿ ಹೆಚ್ಚು ವಿವರವಾದ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ;
  • ಓವರ್‌ಲೋಡ್ ಮಾಡಲಾದ ಕಾರ್ಯಗಳು, ಬೈನರಿ ಆಪರೇಟರ್‌ಗಳು, ಫಂಕ್ಷನ್ ಕರೆಗಳು ಮತ್ತು ಫಾರ್ಮ್ಯಾಟ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗಾಗಿ ಸುಧಾರಿತ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್;
  • ಹಲವಾರು ಜನಪ್ರಿಯ ದೋಷಗಳಿಗಾಗಿ (ಕಾಣೆಯಾದ ಆವರಣಗಳು, ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳು, ಮುದ್ರಣದೋಷಗಳು, ಇತ್ಯಾದಿ) ಕೆಲವು ಅಭಿವೃದ್ಧಿ ಪರಿಸರಗಳಿಂದ ಬೆಂಬಲಿತವಾದ ಸ್ವಯಂಚಾಲಿತ ಪರಿಹಾರಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
libstdc++
  • C++17 ಅನುಷ್ಠಾನವು ಇನ್ನು ಮುಂದೆ ಪ್ರಾಯೋಗಿಕವಾಗಿಲ್ಲ;
  • ಸಮಾನಾಂತರ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, , , ಎ ಇನ್ನು ಮುಂದೆ -lstdc++fs ಅಗತ್ಯವಿಲ್ಲ;
  • C++2a ಗಾಗಿ ಸುಧಾರಿತ ಪ್ರಾಯೋಗಿಕ ಬೆಂಬಲ ( , , std :: bind_front, ಇತ್ಯಾದಿ);
  • ಚಾರ್ ಅಲ್ಲದ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುವ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಫೈಲ್ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ತೆರೆಯಲು ಬೆಂಬಲ;
  • ಆರಂಭಿಕ ಬೆಂಬಲ ವಿಂಡೋಸ್ನಲ್ಲಿ;
  • ನೆಟ್‌ವರ್ಕಿಂಗ್ ಟಿಎಸ್‌ಗೆ ಆರಂಭಿಕ ಬೆಂಬಲ.
D

D ಭಾಷೆಯ ಆವೃತ್ತಿ 2.076 ಅನ್ನು GCC ಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ.

ಫೋರ್ಟ್ರಾನ್
  • ಅಸಮಕಾಲಿಕ I/O ಗೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲ;
  • MINLOC ಮತ್ತು MAXLOC ಗಾಗಿ BACK ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ;
  • FINDLOC ಮತ್ತು IS_CONTIGUS ಕಾರ್ಯಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ;
  • ಸಂಕೀರ್ಣ ಸಂಖ್ಯೆಗಳ ಘಟಕಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ: c%re ಮತ್ತು c%im;
  • ಸಿಂಟ್ಯಾಕ್ಸ್ str%len ಮತ್ತು a%kind ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ;
  • ಸಿ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳು ಮತ್ತು ISO_Fortran_binding.h ಹೆಡರ್ ಅಳವಡಿಸಲಾಗಿದೆ;
  • ವಾದಗಳಲ್ಲಿ ಒಂದು NaN ಆಗಿರುವಾಗ MAX ಮತ್ತು MIN ಕಾರ್ಯಗಳ ಫಲಿತಾಂಶಕ್ಕಾಗಿ ವಿಶ್ರಾಂತಿ ಅಗತ್ಯತೆಗಳು;
  • ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -fdec-ಸೇರಿಸು;
  • ನಿರ್ದೇಶನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಬಿಲ್ಟಿನ್.
libgccjit

ಇತರೆ

ಅನೇಕ ಆರ್ಕಿಟೆಕ್ಚರ್- ಮತ್ತು OS-ನಿರ್ದಿಷ್ಟ ಬದಲಾವಣೆಗಳು.

ಮೂಲ: linux.org.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ