Overview
This article provides information on what support is given to host platform, languages and compilers. The information listed below can be found in the manual by searching for the keyword 'System Requirements' which then will result in other topics being linked thereafter.
Platform Support
OS | Version | Notes |
Windows |
Desktop: 10, 11 Server: 2016, 2019, 2022 |
|
Linux | All flavors |
glibc 2.11.3 or later (x86 and x86-64 only) If your source tree includes non-ASCII file or directory names, then:
See the documentation for your Linux distribution if you need information on how to define a locale environment: the mechanism is distribution-dependent. For example, Ubuntu and Debian provide command locale-gen; CentOS and Fedora provide localedef. |
NetBSD | 8.1 | x86-64 only; 64-bit build tools only |
FreeBSD | 10, 12 | x86-64 only; 64-bit build tools only |
It is important to note the the following when running CodeSonar for Java/C# analysis:
- CodeSonar Java analysis is available on 64-bit Windows and Linux only.
- CodeSonar C# analysis is available on 64-bit Windows only, and requires .NET Framework 4.7.2 or later.
Language Support
Language/Tiers | Features | Standards | Notes |
Tier 1 |
|||
C |
C89/C90 C99 C11 C17/C18 |
ANSI X.3.159-1989 / ISO/IEC 9899:1990 ISO/IEC 9899:1999 ISO/IEC 9899:2011 ISO/IEC 9899:2018 |
All features supported. CodeSonar parses and generates internal representation for all features from these standards |
C |
C23 |
n/a |
Many features supported, see manual for more information. |
C++ |
C++98 C++11 (C++0x) C+14 (C++1y) C++17 (C++1z) C++20 C++23 C++26 |
ISO/IEC 14882:1998 ISO/IEC 14882:2011 ISO/IEC 14882:2014 ISO/IEC 14882:2017 ISO/IEC 14882:2020 n/a n/a |
All Features supported All Features supported All Features supported All Features supported Most Features supported Some Features supported No features supported |
Tier 2 |
|
|
|
Java |
1.1-19 Android API 15-28 |
CodeSonar ships with its own JVM, so the analysis of Java projects is not dependent on your local Java version(s). |
|
C# | .NET Framework |
1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
CodeSonar supports C# up to version 10.0 |
C# | .NET Core |
1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1 |
CodeSonar supports C# up to version 10.0 |
C# | .NET | 5.0, 6.0, 7.0, 8.0 |
CodeSonar supports C# up to version 10.0 |
Tier 3: all other languages
Go, JavaScript and TypeScript, Kotlin, Python, Rust
Analysis for tier 3 source languages is provided through integration with third-party analyzers.
We provide general instructions for integrating SARIF results from any analyzer with your CodeSonar project. We also provide tool-specific instructions for a select number of third-party analyzers. Some of these are shipped with CodeSonar and some are not.
Shipped with CodeSonar.
Note that if you are already using one of these tools in your organization, we recommend using your own installed version rather than the one shipped with CodeSonar.
- Kotlin
Not shipped with CodeSonar. See the following section for more information.
- Clang Static Analyzer
- ESLint, typescript-eslint, SARIF formatter for ESLint
- Pylint
- Rust Clippy; Rust Clippy-Sarif
- Staticcheck
Third-Party Tools Not Shipped with CodeSonar
CodeSonar provides a number of integrations with external third-party software: software that is neither part of CodeSonar nor shipped with CodeSonar.
- In order to use these integrations, the relevant software must be available on your local system. If it is not already available, you will need to install and configure the software.
- These software packages are supported by their respective manufacturers.
See the manual for more information.
Compiler Support
CodeSonar comes with a number of pre-installed compiler and compiler driver models and is expected to be compatible with widely-used versions of these compilers. Other compilers not on this list can be accommodated either through the generic compiler, or with the custom compiler accompanied with some scripting.
It is important to note that an object-code compiler is represented in CodeSonar by a compiler model.
Model | Description | Linux | FreeBSD | NetBSD | Windows |
armcc |
ARM Real View Compiler Tools C/C++ compiler |
✔ | ✔ | ✔ | ✔ |
armclang | ARM Clang compiler | ✔ | ✔ | ✔ | ✔ |
borland |
Borland C++ for Win32, Embarcadero C++ for Win32 |
✖ | ✖ | ✖ | ✔ |
c++ppc |
Wind River version of GNU C compiler |
✔ | ✔ | ✔ | ✔ |
c251 |
Keil C251 C Compiler |
✔ | |||
c51 | Keil C51 C compiler | ✖ | ✖ | ✖ | ✔ |
cc | Generic C compiler | ✔ | ✔ | ✔ | ✔ |
ccppc |
Wind River version of GNU C compiler |
✔ | ✔ | ✔ | ✔ |
ccrx |
Renesas C/C++ compiler for RX family |
✖ | ✖ | ✖ | ✔ |
ch38 |
Renesas C/C++ compiler for H8S, H8/300 Series |
✔ | ✔ | ✔ | ✔ |
chc12 |
Freescale CodeWarrior for HC12 |
✔ | ✔ | ✔ | ✔ |
c1 | Microsoft C compiler | ✔ | ✖ | ✖ | ✔ |
c130 |
Texas Instruments TMS320C3x/C4x Optimizing Compiler |
✔ | ✔ | ✔ | ✔ |
c16x |
Texas Instruments TMS320C6000 Optimizing C/C++ Compiler |
✔ | ✔ | ✔ | ✔ |
clang | Clang C compiler | ✔ | ✔ | ✔ | ✔ |
clangpp | Clang C++ compiler | ✔ | ✔ | ✔ | ✔ |
cosmic | Cosmic C compilers | ✔ | ✔ | ✔ | ✔ |
cvavr | CodeVisionAVR C compiler | ✖ | ✖ | ✖ | ✔ |
dcc |
Wind River C and C++ compilers |
✔ | ✔ | ✔ | ✔ |
ecomppc | Green Hills C Compiler | ✔ | ✔ | ✔ | ✔ |
gcc |
GNU Compiler Collection C Compiler |
✔ | ✔ | ✔ | ✔ |
gpp |
GNU Compiler Collection C++ Compiler |
✔ | ✔ | ✔ | ✔ |
icc430 | IAR MSP430 compiler | ✔ | ✔ | ✔ | ✔ |
icc78k | IAR Renesas 78k compiler | ✔ | ✔ | ✔ | ✔ |
iccarm | IAR ARM compiler | ✔ | ✔ | ✔ | ✔ |
iccavr | IAR AVR compiler | ✔ | ✔ | ✔ | ✔ |
iccgeneric |
IAR compilers not covered by specific models |
✔ | ✔ | ✔ | ✔ |
iccm32c | IAR M32C compiler | ✔ | ✔ | ✔ | ✔ |
iccrx | IAR Renesas RX compiler | ✔ | ✔ | ✔ | ✔ |
iccstm8 | IAR STM8 compiler | ✔ | ✔ | ✔ | ✔ |
iccv850 | IAR v850 compiler | ✔ | ✔ | ✔ | ✔ |
iccm16c | IAR Renesas M16C/R8C compiler | ✔ | ✔ | ✔ | ✔ |
mcc18 | MPLAB C18 C Compiler | ✔ | ✔ | ✔ | ✔ |
mcc30 | MPLAB C30 C Compiler | ✔ | ✔ | ✔ | ✔ |
mcpcom | Intel C/C++ compiler | ✔ | ✔ | ✔ | ✔ |
mwccarm | Freescale CodeWarrior for Embedded ARM compiler | ✖ | ✖ | ✖ | ✔ |
mwccmcf |
Freescale CodeWarrior for ColdFire compiler |
✖ | ✖ | ✖ | ✔ |
picc | Hi-Tech C compiler | ✔ | ✔ | ✔ | ✔ |
qcc | QNX C/C++ compiler | ✔ | ✔ | ✔ | ✔ |
shc |
Renesas C/C++ compilers for the SuperH RISC engine family |
✔ | ✔ | ✔ | ✔ |
shcpp |
Renesas C/C++ compilers for the SuperH RISC engine family |
✔ | ✔ | ✔ | ✔ |
tasking |
The TASKING TriCore, PCP, and C166/ST10 compilers |
✔ | ✖ | ✖ | ✔ |
visualdsp |
The SHARC, TigerSHARC and Blackfin compilers that ship with VisualDSP++ |
✔ | ✔ | ✔ | ✔ |
xcc | Customizable C compiler | ✔ | ✔ | ✔ | ✔ |
Supported without Compiler Models
(Windows Only) CodeSonar provides special handling for builds with CodeWarrior installations that use DLLs:
Mode | Notes |
DLLs |
If your CodeWarrior installation uses DLLs, there will be a collection of compiler plugin .dll files in an installation subdirectory. Usually the subdirectory will be something like
cw_install\bin\plugins\compiler\
where cw_install is the CodeWarrior installation directory. In this case, use the DLL Approach (Windows only) |
compiler executables |
If your CodeWarrior installation uses compiler executables, there will be one or more compiler .exe files in an installation subdirectory. Usually the subdirectory will be something like
cw_install\bin
where cw_install is the CodeWarrior installation directory. In this case, use the Standard Approach |
DLL Approach (Windows only)
If your CodeWarrior installation uses DLLs, you will need to install CodeSonar DLLs for CodeWarrior so that CodeSonar can capture full information about your software build.
Standard Approach
If your CodeWarrior installation uses compiler executables rather than DLLs, you don't need to install any additional components. Observed compiler invocations will be recognized and mapped to Compiler Support (Pre-installed Compiler/Driver Models) using exactly the same mechanisms as are used for other tools.
There are currently three pre-installed CodeWarrior compiler models:
- chc12: Freescale CodeWarrior for HC12 compiler model
- mwccarm: Freescale CodeWarrior for Embedded ARM compiler
- mwccmcf: Freescale CodeWarrior for ColdFire compiler model
Custom Compiler Models
CodeSonar ships with compiler models for many industry standard compilers. In cases where none of these models are suitable, a custom compiler model may be required.
Compiler models can be authored in C++ or Python and if you are a premium support customer you may leverage tailored support to help build out custom compiler models to fit your software project requirements.
Note: STk compiler models are no longer supported. If you have previously implemented a custom STk compiler model and need assistance converting it to C++ or Python, please submit a support ticket where advice may be given on potential next steps.