LLVM är en kompilatorinfrastruktur avsedd för kompileringstid, länktid, runtime och "idle-time" -optimering av program från godtyckliga programmeringsspråk.
LLVM stöder för närvarande sammanställning av C ++ och C-program, med hjälp av främre ändar härledda från gcc 3.4.
Vad är nytt i den här utgåvan:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 6.0.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 5.0.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 4.0.1:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 4.0.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.9.1:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.9.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.8.1:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.8.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.7.1:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.7.0:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.6.2:
- Detta är en stor ny release med många funktioner. Clang stöder nu alla funktioner i det nuvarande arbetet med den kommande C ++-standarden, provisoriskt namngiven C ++ 1y. Den statiska analysatorn har kraftigt förbättrat C ++-stöd, ger färre falska positiva och fångar fler buggar. Clang innehåller också några nya möjligheter: 1) ett verktyg som kallas "clang-format" som kan användas i en IDE eller textredigerare för att automatiskt formatera din kod enligt inbyggda format, och 2) en ny (experimentell!) drivrutin avsedd för inloggningskompatibilitet med Visual Studio på Windows. I kodgeneratorn ökar den totala prestandan kraftigt. I synnerhet är loop-auto-vektoriseringen nu aktiverad vid -Os och -O2 utöver -O3 (med lämpligt inställd heuristik för varje nivå). SLP ("straight-line code") auto-vectorizer är nu aktiverad som standard också. Många mål har gjort stora framsteg, men R600-målet är nu byggt som standard (istället för experimentellt), PowerPC-backend har gjort flera stora förbättringar av kodgenereringskvalitet och kompileringstid, och X86, SPARC, ARM32, Aarch64 och SystemZ backends har alla sett stora funktionsarbeten.
Förutom alla förbättringar finns det en anmärkningsvärd förändring: clang -O4 gör nu inte längre implicit möjliggör länktidsoptimering. LTO fortsätter att vara tillgänglig med -flto flaggan, och kan aktiveras vid vilken optimeringsnivå som helst. För att få det tidigare -O4-beteendet, använd helt enkelt "clang -O3 -flto". Dessutom kommer LLVM 3.4 att vara den sista utgåvan som kommer att byggas med en vanlig C ++ '98 kompilator. Framtida utgåvor kommer att kräva att C ++ 11 stöd i värdkompilatorn ska byggas. LLVM 3.4 är resultatet av ett otroligt stort antal personer som arbetat tillsammans under de senaste sex månaderna, men den här utgåvan skulle inte vara möjlig utan vårt frivilliga release-lag! Tack till Bill Wendling för att göra det möjligt genom att hämta utgivningen, och till de fantastiska släpptestarna: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre & Szlig, Clown, Sylvestre Ledru och Tom Stellard.
Vad är nytt i version 3.2:
- Den här versionen innehåller ett stort antal buggfixar, prestandafunktioner och mindre förbättringar.
Vad är nytt i version 3.1:
- Delvis stöd för gcc-4.7. Ada-stöd är fattigt, men andra språk fungerar ganska bra.
- Stöd för ARM-processorer. Några viktiga gcc-rubriker som behövs för att bygga DragonEgg för ARM installeras inte av gcc. För att arbeta runt om det här, kopiera de saknade rubrikerna från gcc-källträdet.
- Bättre optimering för Fortran genom att utnyttja det faktum att Fortran skalarargument har "begränsa" semantik.
- Bättre optimering för alla språk genom att skicka information om typ alias och typintervall till LLVM-optimeringarna.
- En regressionstest-svit tillsattes.
Vad är nytt i version 3.0:
- Stort förbättrat stöd för att bygga C ++-applikationer, med större stabilitet och bättre diagnostik.
- Förbättrat stöd för C ++ 2011-standarden (aka "C ++" 0x "), inklusive implementeringar av initieringsorgan för icke-statisk data-medlem, aliasmallar, delegering av konstruktörer, intervallbaserade för loopar och implicit genererade flyttkonstruktörer och flyttning uppdragsoperatörer, bland andra.
- Implementerat stöd för vissa funktioner i den kommande C1x-standarden, inklusive statiska påståenden och generiska val.
- Bättre upptäckt av inkludera och länka sökvägar för systemhuvud och bibliotek, särskilt för Linux-distributioner.
- Flera förbättringar av mål-C-stöd, inklusive:
- Automatisk referensräkning (ARC) och en förbättrad minnesmodell, rent separerande objekt och C-minne.
- Ett migreringsverktyg för flyttning av manuell behåll / släpp kod till ARC
- Bättre stöd för att dölja data, så att instansvariabler kan deklareras i genomförandekontext eller klasstillägg
- Svagt länkstöd för mål-C-klasser
- Förbättrad statisk typkontroll genom att avleda returtypen av metoder som + allokering och -init.
- Vissa nya objektiv-C-funktioner kräver antingen Mac OS X 10.7 / IOS 5 Objective-C runtime eller version 1.6 eller senare av GNUstep Objective-C runtime versionen.
- Genomförde ett antal optimeringar i libclang, Clang C-gränssnittet, för att förbättra prestanda för kodfärdigande och kartläggning från källplatser till abstrakta syntaxträde.
Vad är nytt i version 2.9:
- Typbaserad aliasanalys (TBAA) som standard i Clang. Detta möjliggör i vissa fall väsentligt bättre laddning / lagring optimering. TBAA kan inaktiveras genom att passera -no-strict-aliasing.
- Den här utgåvan har fortsatt ett fokus på kvaliteten på felsökningsinformation. LLVM genererar nu mycket högre felsökningsinformation, särskilt när felsökning optimeras kod.
- Inline-sammansättning stöder nu flera alternativa begränsningar.
- En ny backend för NVIDIA PTX virtuell ISA (används för att rikta sina GPUer) är under snabb utveckling. Det är inte allmänt användbart i 2.9, men gör snabba framsteg.
Vad är nytt i version 2.7:
- C ++ Support: Clang kan nu självhäfta! Medan alfa-kvalitet har Clangs C ++-support mognat tillräckligt för att bygga LLVM och Clang, och C ++ nu är aktiverat som standard. Se Clang C ++-kompatibilitetssidan för vanliga C ++-migrationsproblem.
- Mål-C: Clang innehåller nu experimentellt stöd för ett uppdaterat Objective-C ABI på icke-Darwin-plattformar. Detta inkluderar stöd för icke-bräckliga instansvariabler och accelererade proxyer, samt större potential för framtida optimeringar. Det nya ABI-systemet används vid kompilering med alternativen -fobjc-nonfragile-abi och -fgnu-runtime. Kod som kompilerats med dessa alternativ kan blandas med kod som kompilerats med GCC eller clang med den gamla GNU ABI, men kräver libobjc2 runtime från GNUstep-projektet.
- Nya varningar: Clang innehåller ett antal nya varningar, däribland kontrollflödesvarningar (oåterkallelig kod, misslyckade returreferenser i en icke-ogiltig funktion etc.), sign-jämförelsevarningar och förbättrade varningsvarningar för format.
- CIndex API och Python-bindningar: Clang innehåller nu ett C-API som en del av Cindex-biblioteket. Även om vi kan göra några ändringar i API-systemet i framtiden, är det tänkt att det är stabilt och utformat för användning av externa projekt. Se dokumentationen för Clang Doxygen Cindex för mer information. Cindex-API innehåller också en preliminär uppsättning Python-bindningar.
- ARM Support: Clang har nu ABI-stöd för både Darwin och Linux ARM ABIs. I kombination med många förbättringar av LLVM ARM-backend är Clang nu lämplig för användning som ARM-kompilator för betalkvalitet.
Vad är nytt i version 2.5:
- Clang har nu en ny drivrutin, som är inriktad på att tillhandahålla ett GCC-kompatibelt gränssnitt.
- X86-64 ABI stöds nu, inklusive stöd för Apple 64-bitars Objective-C runtime och undantagshantering utan kostnad.
- Förkompilerat huvudstöd är nu implementerat.
- Mål-C-stöd förbättras avsevärt utöver LLVM 2.4, som stöder många funktioner, till exempel Objective-C Garbage Collection.
- Arrayer med variabel längd stöds nu fullt ut.
- C99 utvalda initierare stöds nu fullt ut.
- Clang innehåller nu alla stora kompilatorhuvud, inklusive en omdesignad tgmath.h och flera mer inbyggda rubriker.
- Många buggar är lätta och många funktioner har lagts till.
Kommentarer hittades inte