ಮೇ 3 ರಂದು, GCC ಯ ಒಂಬತ್ತನೇ ಆವೃತ್ತಿಯ ಮೊದಲ ಸಾರ್ವಜನಿಕ ಬಿಡುಗಡೆ ನಡೆಯಿತು: GCC 9.1.
ಎಂಟನೆಯದಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಇದು ಅನೇಕ ಗಮನಾರ್ಹ ಸುಧಾರಣೆಗಳು ಮತ್ತು ಸೇರ್ಪಡೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ
ಆವೃತ್ತಿ.
ಸಾಮಾನ್ಯ ಬದಲಾವಣೆಗಳು
ಆಯ್ಕೆಗಳು
- ಗಾತ್ರವನ್ನು ಸ್ವೀಕರಿಸುವ ಆಜ್ಞೆಗಳು ಈಗ 64-ಬಿಟ್ ಮೌಲ್ಯಗಳು ಮತ್ತು ಗಾತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಪ್ರತ್ಯಯಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ;
- ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -ಫ್ಲೈವ್-ಪ್ಯಾಚಿಂಗ್ಡೈನಾಮಿಕ್, ಕೋಡ್ ರಿಪ್ಲೇಸ್ಮೆಂಟ್ಗೆ ಸಂಭಾವ್ಯವಾಗಿ ವಿನಾಶಕಾರಿಯಾಗಿರುವ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು;
- ಕಮಾಂಡ್ ಶೆಲ್ನಲ್ಲಿ ಸ್ವಯಂ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸಲು --ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
- ಕಂಪೈಲರ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ಈಗ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ (-fno-ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್-ಶೋ-ಲೈನ್-ಸಂಖ್ಯೆಗಳು) ಮತ್ತು
ಮಾಹಿತಿ ಪ್ರಕಾರ (fno-ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್-ಶೋ-ಲೇಬಲ್ಗಳು); - ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -fdiagnostics-format=json JSON ಸ್ವರೂಪದಲ್ಲಿ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ ಅನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಲು;
- ಜೋಡಣೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಆಯ್ಕೆಗಳು (-ಫಾಲಿನ್-ಕಾರ್ಯಗಳು, ಉದಾಹರಣೆಗೆ) ಈಗ ಒಂದೆರಡು ಜೋಡಣೆ ಆಯ್ಕೆಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು;
- ಫೈಲ್ಗಳ ಪಟ್ಟಿಯನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ (-fprofile-ಫಿಲ್ಟರ್-ಫೈಲ್ಗಳು, -fprofile-ಹೊರಗಿಡ-ಫೈಲ್ಗಳು), ಇವುಗಳನ್ನು ಪ್ರೊಫೈಲರ್ನಿಂದ ಉಪಕರಣ ಮಾಡಲಾಗುತ್ತದೆ;
- ಸ್ಟಾಕ್ನಲ್ಲಿನ ವೇರಿಯೇಬಲ್ಗಳಿಗೆ ಅಮಾನ್ಯ ಪ್ರವೇಶಗಳನ್ನು ಹಿಡಿಯಲು ವಿಳಾಸ ಸ್ಯಾನಿಟೈಜರ್ ಈಗ ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ಜೋಡಣೆಯನ್ನು ಬಳಸುತ್ತದೆ;
- ಹಲವಾರು ಔಟ್ಪುಟ್ ಸುಧಾರಣೆಗಳು -fopt-ಮಾಹಿತಿ;
- ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -fsave-ಆಪ್ಟಿಮೈಸೇಶನ್-ದಾಖಲೆ ಆಪ್ಟಿಮೈಸೇಶನ್ ವರದಿಯನ್ನು ಫೈಲ್ಗೆ ಉಳಿಸಲು;
- ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ -ಫಿಪಾ-ಸ್ಟಾಕ್-ಜೋಡಣೆ и -ಫಿಪಾ-ಉಲ್ಲೇಖ-ವಿಳಾಸ.
ಹೊಸ ಅಂತರ್ನಿರ್ಮಿತ ವೈಶಿಷ್ಟ್ಯಗಳು
- ಸಂಭವನೀಯತೆಯೊಂದಿಗೆ_ನಿರ್ಮಾಣ_ನಿರೀಕ್ಷೆ;
- __ಬಿಲ್ಟಿನ್_ಗುಣಲಕ್ಷಣವನ್ನು ಹೊಂದಿದೆ;
- __builtin_speculation_safe_value.
ಹೊಸ ಗುಣಲಕ್ಷಣ
ಇತರೆ
ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಹಲವಾರು ಕೋಡ್ ಉತ್ಪಾದನೆ ಸುಧಾರಣೆಗಳು:
- ಸ್ವಿಚ್ ರಚನೆಗಳ ಪೀಳಿಗೆಯ;
- ಅಂತರ್-ಕಾರ್ಯವಿಧಾನದ ಆಪ್ಟಿಮೈಸೇಶನ್;
- ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಹಿತಿಯ ಆಧಾರದ ಮೇಲೆ ಆಪ್ಟಿಮೈಸೇಶನ್;
- ಅಸೆಂಬ್ಲಿ ಹಂತದಲ್ಲಿ ಆಪ್ಟಿಮೈಸೇಶನ್ (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
- ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ gcc_jit_context_add_driver_option.
ಇತರೆ
ಅನೇಕ ಆರ್ಕಿಟೆಕ್ಚರ್- ಮತ್ತು OS-ನಿರ್ದಿಷ್ಟ ಬದಲಾವಣೆಗಳು.
ಮೂಲ: linux.org.ru