Main Content

C++11 Language Elements Supported in Polyspace

This table provides a partial list of C++ language elements that have been introduced since C++11 and its corresponding Polyspace® support. If your code contains nonsupported constructions, Polyspace reports a compilation error.

C++11 Std RefDescriptionSupported
C++2011-DR226Default template arguments for function templatesYes
C++2011-DR339Solving the SFINAE problem for expressionsYes
C++2011-N1610Initialization of class objects by rvaluesYes
C++2011-N1653C99 preprocessorYes
C++2011-N1720Static assertionsYes
C++2011-N1737Multi-declarator autoYes
C++2011-N1757Right angle bracketsYes
C++2011-N1791Extended friend declarationsNo
C++2011-N1811long longYes
C++2011-N1984auto-typed variablesYes
C++2011-N1986Delegating constructorsYes
C++2011-N1987Extern templatesYes
C++2011-N1988Extended integral typesYes
C++2011-N2118Rvalue referencesYes
C++2011-N2170Universal character name literalsYes
C++2011-N2179Concurrency: Propagating exceptionsNo
C++2011-N2235Generalized constant expressionsYes
C++2011-N2239Concurrency: Sequence pointsNo new syntax/keyword is introduced and therefore does not affect Polyspace support for C++11.
C++2011-N2242Variadic templatesYes
C++2011-N2249New character typesYes
C++2011-N2253Extending sizeofYes
C++2011-N2258Template aliasesYes
C++2011-N2340__func__ predefined identifierYes
C++2011-N2341Alignment supportYes
C++2011-N2342Standard Layout TypesYes
C++2011-N2343Declared type of an expressionYes
C++2011-N2346Defaulted and deleted functionsYes
C++2011-N2347Strongly typed enumsYes
C++2011-N2427Concurrency: Atomic operationsNo
C++2011-N2429Concurrency: Memory modelNo new syntax/keyword is introduced and therefore does not affect Polyspace support for C++11.
C++2011-N2431Null pointer constantYes
C++2011-N2437Explicit conversion operatorsYes
C++2011-N2439Rvalue references for *thisYes
C++2011-N2440Concurrency: Abandoning a process and at_quick_exitYes
C++2011-N2442Unicode string literalsYes
C++2011-N2442Raw string literalsYes
C++2011-N2535Inline namespacesYes
C++2011-N2540Inheriting constructorsYes
C++2011-N2541New function declarator syntaxYes
C++2011-N2544Unrestricted unionsYes
C++2011-N2546Removal of auto as a storage-class specifierYes
C++2011-N2547Concurrency: Allow atomics use in signal handlersNo
C++2011-N2555Extending variadic template template parametersYes
C++2011-N2657Local and unnamed types as template argumentsYes
C++2011-N2659Concurrency: Thread-local storageNo
C++2011-N2660Concurrency: Dynamic initialization and destruction with concurrencyYes
C++2011-N2664Concurrency: Data-dependency ordering: atomics and memory modelNo
C++2011-N2672Initializer listsYes
C++2011-N2748Concurrency: Strong Compare and ExchangeNo
C++2011-N2752Concurrency: Bidirectional FencesNo
C++2011-N2756Nonstatic data member initializersYes
C++2011-N2761Generalized attributesYes
C++2011-N2764Forward declarations for enumsYes
C++2011-N2765User-defined literalsYes
C++2011-N2927New wording for C++0x lambdasYes
C++2011-N2928Explicit virtual overridesYes
C++2011-N2930Range-based forYes
C++2011-N3050Allowing move constructors to throw [noexcept]Yes
C++2011-N3053Defining move special member functionsYes
C++2011-N3276decltype and call expressionsYes

See Also

Related Topics