Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 2.48 KB

supported-versions-compilers.rst

File metadata and controls

42 lines (33 loc) · 2.48 KB
Language Variants Compilers Extensions
C/C++ C89, C99, C11, C17, C++98, C++03, C++11, C++14, C++17, C++20 [1]

Clang (and clang-cl [2]) extensions (up to Clang 12.0),

GNU extensions (up to GCC 11.1),

Microsoft extensions (up to VS 2019),

Arm Compiler 5 [3]

.cpp, .c++, .cxx, .hpp, .hh, .h++, .hxx, .c, .cc, .h
C# C# up to 11

Microsoft Visual Studio up to 2019 with .NET up to 4.8,

.NET Core up to 3.1

.NET 5, .NET 6, .NET 7

.sln, .csproj, .cs, .cshtml, .xaml
Go (aka Golang) Go up to 1.20 Go 1.11 or more recent .go
Java Java 7 to 20 [4]

javac (OpenJDK and Oracle JDK),

Eclipse compiler for Java (ECJ) [5]

.java
Kotlin [6] Kotlin 1.5.0 to 1.8.20 kotlinc .kt
JavaScript ECMAScript 2022 or lower Not applicable .js, .jsx, .mjs, .es, .es6, .htm, .html, .xhtm, .xhtml, .vue, .hbs, .ejs, .njk, .json, .yaml, .yml, .raml, .xml [7]
Python [8] 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 Not applicable .py
Ruby [9] up to 3.2 Not applicable .rb, .erb, .gemspec, Gemfile
Swift [10] Swift 5.4-5.7 Swift compiler .swift
TypeScript [11] 2.6-5.0 Standard TypeScript compiler .ts, .tsx, .mts, .cts
[1]C++20 support is currently in beta. Supported for GCC on Linux only. Modules are not supported.
[2]Support for the clang-cl compiler is preliminary.
[3]Support for the Arm Compiler (armcc) is preliminary.
[4]Builds that execute on Java 7 to 20 can be analyzed. The analysis understands Java 20 standard language features.
[5]ECJ is supported when the build invokes it via the Maven Compiler plugin or the Takari Lifecycle plugin.
[6]Kotlin support is currently in beta.
[7]JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files.
[8]The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python.
[9]Requires glibc 2.17.
[10]Swift support is currently in beta. Support for the analysis of Swift 5.4-5.7 requires macOS. Swift 5.7.3 can also be analyzed using Linux.
[11]TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default.