13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>TASKING</strong> <strong>VX</strong>-<strong>toolset</strong> <strong>for</strong> <strong>ARM</strong> <strong>User</strong> <strong>Guide</strong>• String literals and wide string literals have const type.• Class name injection is implemented.• Argument-dependent (Koenig) lookup of function names is implemented.• Class and function names declared only in unqualified friend declarations are not visible except <strong>for</strong>functions found by argument-dependent lookup.• A void expression can be specified on a return statement in a void function.• Function-try-blocks, i.e., try-blocks that are the top-level statements of functions, constructors, ordestructors, are implemented.• Universal character set escapes (e.g., \uabcd) are implemented.• On a call in which the expression to the left of the opening parenthesis has class type, overload resolutionlooks <strong>for</strong> conversion functions that can convert the class object to pointer-to-function types, and eachsuch pointed-to "surrogate function" type is evaluated alongside any other candidate functions.• Dependent name lookup in templates is implemented. Nondependent names are looked up only in thecontext of the template definition. Dependent names are also looked up in the instantiation context, viaargument-dependent lookup.• Value-initialization is implemented. This <strong>for</strong>m of initialization is indicated by an initializer of "()" andcauses zeroing of certain POD-typed members, where the usual default-initialization would leave themuninitialized.• A partial specialization of a class member template cannot be added outside of the class definition.• Qualification conversions may be per<strong>for</strong>med as part of the template argument deduction process.• The export keyword <strong>for</strong> templates is implemented.2.2.2. C++0x Language Features AcceptedThe following features added in the working paper <strong>for</strong> the next C++ standard (expected to be completedin 2011) are enabled in C++0x mode (with option --c++0x). Several of these features are also enabledin default (nonstrict) C++ mode.• A "right shift token" (>>) can be treated as two closing angle brackets. For example:template struct S {};S s; // OK. No whitespace needed// between closing angle brackets.• The static_assert construct is supported. For example:template struct S {static_assert(sizeof(T) > 1, "Type T too small");};38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!