Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
CDT/Archive/planning/7.0
Please enter your CDT 7.0 plan items here.
Contents
Parser/Indexer/Editor
- Arithmetic conversions for binary and unary expressions, bug 231859.
- C++0x features supported by gcc 4.3, bug 294730.
- Variadic templates,
- Right angle brackets,
- Default template arguments for function templates,
- Rvalue references,
- Static assertions,
- Declared type of an expression.
- C++0x features supported by gcc 4.4, bug 302282.
- Extending variadic template template parameters,
- Initializer lists,
- Auto-typed variables,
- New function declarator syntax .
Changes to the AST
- Function calls:
- The arguments of a function call are represented as IASTInitializerClause[].
- For function calls with more than one argument the ast no longer contains an IASTExpressionList.
- Initializers:
- An equals initializer is represented with an IASTEqualsInitializer node.
- The member of an IASTInitializerList is no longer wrapped in an IASTInitializerExpression.
- Enumerations:
- A new scope kind for enumeration scope (EScopeKind.eEnumeration) has been added.
- IBinding getOwner() for enumerators returns an enum-scope.
- Functional casts and compound literals:
- Uniformly represented as ICPPASTSimpleTypeConstructorExpression.
- The interface ICPPASTTypenameExpression is no longer used.
- C++ and Gnu specific constants:
- Constants have been pulled up into the following base interfaces: IASTDeclSpecifier, IASTSimpleDeclSpecifier, IBasicType.
- IGPPASTDeclSpecifier, IGCCASTSimpleDeclSpecifier, IGPPASTSimpleDeclSpecifier and IGPPBasicType are no longer used.
New interfaces: IASTEqualsInitializer, IASTInitializerClause, ICPPASTArrayDeclarator, ICPPASTDeclarator, ICPPASTEnumerationSpecifier, ICPPASTFieldDeclarator, ICPPASTInitializerList, ICPPASTPackExpandable, ICPPASTPackExpansionExpression, ICPPASTStaticAssertDeclaration, ICPPASTTypeId, ICPPEnumeration, ICPPParameterPackType.
Enhanced interfaces: IArrayType, IASTArraySubscriptExpression, IASTBinaryExpression, IASTDeclSpecifier, IASTEqualsInitializer, IASTExpression, IASTFunctionCallExpression, IASTInitializerList, IASTPreprocessorPragmaStatement, IASTReturnStatement, IASTSimpleDeclSpecifier, IASTTranslationUnit, IASTUnaryExpression, IBasicType, ICASTDesignatedInitializer, ICNodeFactory, ICPPASTConstructorChainInitializer, ICPPASTConstructorInitializer, ICPPASTExplicitTemplateInstantiation, ICPPASTFunctionDeclarator, ICPPASTNewExpression, ICPPASTParameterDeclaration, ICPPASTReferenceOperator, ICPPASTSimpleTypeConstructorExpression, ICPPASTSimpleTypeTemplateParameter, ICPPASTTemplateDeclaration, ICPPASTTemplatedTypeTemplateParameter, ICPPASTTemplateParameter, ICPPFunction, ICPPFunctionType, ICPPNodeFactory, ICPPParameter, ICPPReferenceType, ICPPTemplateArgument, ICPPTemplateInstance, ICPPTemplateParameter, ICPPTemplateParameterMap, IEnumeration, IIndex, IIndexChangeEvent, IIndexFile, IIndexManager, IName, IncludeFileContentProvider, INodeFactory, IToken.
Build
- Error highlighting and navigation in Build Console bug 295625
- Saving build output into a file from CDT console, bug 294106
- Generic user-configurable Regex Error Parser bug 109139
- Run last make target key binding bug 69922
Debug
- Tracepoints will be added to the CDT, with support from the DSF-GDB integration. Details and screen-shots can be found at this wiki page. The development effort is being tracked by bug 284286.
Other
API Changes
- Adding API tooling tags @noextend, @noimplement, @noinstantiate to all classes of org.eclipse.cdt.make.* and org.eclipse.cdt.managedbuilder.* where comments do not indicate otherwise, see bug 301373.
org.eclipse.cdt.dsf.gdb breaking API changes
- bug 302315
- Removed Deprecated synchronous interfaces
- org.eclipse.cdt.dsf.gdb.actions.IReverseStepOverHandler
- org.eclipse.cdt.dsf.gdb.actions.IReverseStepIntoHandler
- org.eclipse.cdt.dsf.gdb.actions.IReverseResumeHandler
- org.eclipse.cdt.dsf.gdb.actions.IReverseToggleHandler
- org.eclipse.cdt.dsf.gdb.actions.IUncallHandler
- These have been replaced by asynchronous interfaces
- org.eclipse.cdt.debug.core.model.IReverseStepOverHandler
- org.eclipse.cdt.debug.core.model.IReverseStepIntoHandler
- org.eclipse.cdt.debug.core.model.IReverseResumeHandler
- org.eclipse.cdt.debug.core.model.IReverseToggleHandler
- org.eclipse.cdt.debug.core.model.IUncallHandler
- Removed Deprecated synchronous interfaces
- bug 304146
- GDBControl constructor has changed from "public GDBControl(DsfSession, ILaunchConfiguration)" to "public GDBControl(DsfSession, ILaunchConfiguration, CommandFactory)"
- GDBControl_7_0 constructor has changed from "public GDBControl_7_0(DsfSession, ILaunchConfiguration)" to "public GDBControl_7_0(DsfSession, ILaunchConfiguration, CommandFactory)"
- AbstractMIControl constructor has changed from "public AbstractMIControl(DsfSession, boolean)" to "public AbstractMIControl(DsfSession session, boolean, CommandFactory)"
- The interface IGDBControl used to be defined as "public interface IGDBControl extends ICommandControlService" but has now changed to "public interface IGDBControl extends IMICommandControl" (where IMICommandControl extends ICommandControlService)
- bug 304588
- In MIVariableManager.MIVariableObject the method "public int getNumChildren()" has been renamed to "public int getNumChildrenHint()"
- bug 305178
- In the IGDBBackend interface, a new method was added "public void interruptAndWait(int timeout, RequestMonitor rm)"
- bug 202354
- In the IGDBBackend interface, two new methods were added "Properties getEnvironmentVariables() throws CoreException" and "boolean getClearEnvironment() throws CoreException"
- bug 305752
- Event Breakpoint (gdb catchpoint) constants that were in org.eclipse.cdt.debug.mi.core.cdi.model.EventBreakpoint have been moved to org.eclipse.cdt.debug.core.model.ICEventBreakpoint, and many have undergone name changes for consistency reasons.