7.9.1.16. C++ Limitations within GEL ExpressionsΒΆ

The following C++ features are not fully supported within GEL expressions.

Casting to or from a virtual base class

In order to correctly cast a pointer to or from a virtual base class, the debugger requires the same runtime type information that the compiler would use for a dynamic cast. Depending on compiler defaults, a compiler flag may be required to include this information. In the absence of this information, any cast to or from a virtual base class may be incorrect.

Qualified member names

Member names - identifiers after a '.' or '->' operators - cannot be qualified, as in obj.Base::base_member

Destructor cannot be named

The destructor of a class (X::~X) cannot be named in a GEL expression.

Pointer to members

Pointer to member values appear as an implementation structure.

Partially qualified types

Types that are not in the top-level namespace must be fully qualified, and cannot be partially-qualified in the same manner as identifiers.

Run-time type identification

Code Composer Studio does not identify the dynamic (run-time) type of objects referred to by base class pointers.

C++ function operator

The Watch window and Command window cannot resolve the address of an overloaded operator defined within a class. It will not recognize them as valid function names. This includes any function name of a class that starts with operator and ends with any special character such as +, -, *, ++, --, /, ->, [] (for example, operator+, operator-, or operator[]). To work around this limitation, you can use Symbol Browser to resolve any overloaded operator functions.

Inner braces in a GEL macro

Inner braces in a GEL macro do not work and may cause errors. For example, #define SQR(x) (x*x) is functional, but #define SQR(x) ((x)*(x)) causes a memory map read error.

The GEL language always interprets (identifier) as a type cast, while the C/C++ language may interpret this as a type cast if the identifier is a type name, or as the value of the variable identifier.

___

See also:

GEL Functions: Alphabetical List