GCC 12.1 પહેલેથી જ રિલીઝ થઈ ચૂક્યું છે, જાણો તેના સમાચાર અને તેની 35મી વર્ષગાંઠ

GNU GCC લોગો

ની રજૂઆત કમ્પાઇલરનું નવું સંસ્કરણ જીસીસી (GNU કમ્પાઇલર કલેક્શન) 12.1 પહેલાથી જ રિલીઝ કરવામાં આવ્યું હતું અને GCC ના તમામ મુખ્ય પ્રકાશનોની જેમ, આ પ્રકાશન ઘણા ઉમેરાઓ, સુધારાઓ, બગ ફિક્સેસ અને નવી સુવિધાઓ લાવશે, ઉપરાંત આ મહિને (23 મે), પ્રોજેક્ટ પ્રથમ પ્રકાશનની રચનાને 35 વર્ષ ઉજવશે.

GCC 12 એ Fedora 36 માટે પહેલેથી જ સિસ્ટમ કમ્પાઇલર છે, અને GCC 12 એ Red Hat ડેવલપર ટૂલસેટ (સંસ્કરણ 7) અથવા Red Hat GCC ટૂલસેટ (સંસ્કરણ 8 અને 9) માં Red Hat Enterprise Linux પર પણ ઉપલબ્ધ હશે.

GCC વિકાસકર્તાઓને GCC, 12.1 ની બીજી મોટી રિલીઝની જાહેરાત કરવામાં ગર્વ છે.

આ વર્ષે અમે GCC ના પ્રથમ બીટા સંસ્કરણની 35મી વર્ષગાંઠની ઉજવણી કરીએ છીએ
અને આ મહિને અમે GCC 35 ના પ્રકાશનને 1.0 વર્ષ ઉજવીશું!

આ રીલીઝ STABS ડીબગ ફોર્મેટ અને માટે સપોર્ટ છોડી દે છે
CTF ડિબગીંગ ફોર્મેટ [1] માટે સમર્થન રજૂ કરે છે. C અને C++
લક્ષણો માટે વિસ્તૃત આધાર સાથે ઇન્ટરફેસ આગળ વધવાનું ચાલુ રાખે છે
આગામી C2X અને C++ 23 ધોરણો અને C++ સ્ટાન્ડર્ડ લાઇબ્રેરીમાં
C++20 અને C++23 ના પ્રાયોગિક ભાગો માટે સમર્થન સુધારે છે.
ફોર્ટ્રેન ઈન્ટરફેસ હવે સી સાથે આંતરસંચાલનક્ષમતા માટે TS 29113 સાથે સંપૂર્ણપણે સુસંગત છે.

GCC 12.1 માં નવું શું છે?

આ નવા સંસ્કરણમાં અનેક દરખાસ્તો અમલમાં મૂકવામાં આવી છે, જેમ કે ભાષાઓ માટે C અને C++, ઉમેર્યું બિલ્ટ-ઇન ફંક્શન __ઑબ્જેક્ટનું કદ નક્કી કરવા માટે બિલ્ટિન_ડાયનેમિક_ઑબ્જેક્ટ_સાઇઝ, રણકારના સમાન કાર્ય સાથે સુસંગત.

ઉમેર્યું C અને C++ ભાષાઓ માટે "અનુપલબ્ધ" વિશેષતા માટે સપોર્ટ (ઉદાહરણ તરીકે, તમે એવા કાર્યોને ચિહ્નિત કરી શકો છો કે જેનો ઉપયોગ કરવામાં આવે ત્યારે ભૂલમાં પરિણમશે), તેમજ C અને C++ ભાષાઓ માટે "#elifdef" અને "#elifndef" પ્રીપ્રોસેસિંગ ડાયરેક્ટીવ માટે વધારાનો આધાર.

એ પણ નોંધ્યું છે કે જો UTF-8 અક્ષરોનો દુરુપયોગ થયો હોય તો ચેતવણી આપવા માટે "-Wbidi-chars" ધ્વજ, દ્વિપક્ષીય ટેક્સ્ટ ડિસ્પ્લે ક્રમમાં ફેરફાર, તેમજ એરેનો સંદર્ભ આપતા બે ઓપરેન્ડ્સની તુલના કરવાનો પ્રયાસ કરતી વખતે ચેતવણી આપવા માટે "-Warray-compare" ફ્લેગ.

વધુમાં, આઇOpenMP 5.0 અને 5.1 ધોરણોનું અમલીકરણ (ઓપન મલ્ટિ-પ્રોસેસિંગ), જે એપીઆઈ અને મલ્ટીકોર અને હાઇબ્રિડ (CPU + GPU/DSP) સિસ્ટમ્સ પર સમાંતર પ્રોગ્રામિંગ પદ્ધતિઓ લાગુ કરવા માટેની પદ્ધતિઓ વ્યાખ્યાયિત કરે છે, જે શેર કરેલી મેમરી અને વેક્ટરાઇઝેશન યુનિટ્સ (SIMD) સાથે ચાલુ રાખવામાં આવી હતી.

પણ OpenACC 2.6 સમાંતર પ્રોગ્રામિંગ સ્પષ્ટીકરણનું સુધારેલ અમલીકરણ, GPU અને વિશિષ્ટ પ્રોસેસરો જેમ કે NVIDIA PTX પર ઑપરેશન ઑફલોડ કરવાના માધ્યમોને વ્યાખ્યાયિત કરવું; અને ઇન્ટેલ AVX512-FP16 વિસ્તૃત સૂચનાઓ અને x16 કોડ જનરેશન બેકએન્ડમાં _Float86 પ્રકાર માટે સમર્થન ઉમેરવું.

Fortran ફ્રન્ટ-એન્ડ TS 29113 સ્પષ્ટીકરણ માટે સંપૂર્ણ સપોર્ટ પૂરો પાડે છે, જે Fortran અને C કોડ વચ્ચે સુવાહ્યતા સુનિશ્ચિત કરવાની શક્યતાઓનું વર્ણન કરે છે.

1980 ના દાયકામાં બનાવેલ "STABS" ડિબગીંગ માહિતી સંગ્રહ ફોર્મેટ માટે નાપસંદ આધાર.

ક્લેંગમાં અગાઉ ઉમેરાયેલ __builtin_shufflevector(vec1, vec2, index1, index2, …) એક્સ્ટેંશન માટે ઉમેરાયેલ સમર્થન, જે સામાન્ય વેક્ટર શફલ અને શફલ કામગીરી કરવા માટે એક જ કોલ પૂરો પાડે છે.

"-O2" ઓપ્ટિમાઇઝેશન સ્તરનો ઉપયોગ કરતી વખતે, વેક્ટરાઇઝેશન મૂળભૂત રીતે સક્ષમ હોય છે (-ftree-vectorize અને -fvect-cost-model=અત્યંત-સસ્તા મોડ્સ સક્ષમ છે). "ખૂબ સસ્તું" મોડલ વેક્ટરાઇઝેશનને માત્ર ત્યારે જ મંજૂરી આપે છે જો વેક્ટર કોડ સંપૂર્ણપણે વેક્ટરાઇઝેબલ સ્કેલર કોડને બદલી શકે.

"-ftrivial-auto-var-init" મોડ ઉમેર્યો મુદ્દાઓને ટ્રૅક કરવા અને બિન-પ્રારંભિક ચલોનાં ઉપયોગ સાથે સંકળાયેલ નબળાઈઓને અવરોધિત કરવા માટે સ્ટેક પર સ્પષ્ટ ચલ પ્રારંભને સક્ષમ કરવા.

ઉમેર્યું કમ્પાઈલરમાં બિલ્ટ C ફંક્શન્સનું અમલીકરણ (આંતરિક) એટોમિક લોડિંગ અને મેમરીમાં ડેટા સ્ટોરેજ માટે, વિસ્તૃત એઆરએમ સૂચનાઓ (ls64) ના ઉપયોગના આધારે. ARM mopoption એક્સ્ટેંશનનો ઉપયોગ કરીને memcpy, memmove, અને memset ફંક્શનને ઝડપી બનાવવા માટે સમર્થન ઉમેર્યું.

ઉમેર્યું નવી ચકાસણી મોડ "-fsanitize=shadow-call-stack" ( ShadowCallStack ), જે હાલમાં માત્ર AArch64 આર્કિટેક્ચર માટે ઉપલબ્ધ છે અને "-fixed-r18" વિકલ્પ સાથે કોડ કમ્પાઈલ કરતી વખતે કામ કરે છે. મોડ સ્ટેક બફર ઓવરફ્લોની સ્થિતિમાં ફંક્શનના રીટર્ન એડ્રેસને ફરીથી લખવા સામે રક્ષણ પૂરું પાડે છે. સંરક્ષણનો સાર એ છે કે ફંક્શનમાં નિયંત્રણના સ્થાનાંતરણ પછી રીટર્ન એડ્રેસને અલગ "શેડો" સ્ટેકમાં સાચવવું અને ફંક્શનમાંથી બહાર નીકળતા પહેલા આ સરનામું પુનઃપ્રાપ્ત કરવું.

સ્રોત: https://gcc.gnu.org/pipermail


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.