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.
Difference between revisions of "CDT/Archive/planning/7.0"
(→Parser/Indexer/Editor) |
m (Jonah.kichwacoders.com moved page CDT/planning/7.0 to CDT/Archive/planning/7.0) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | {{warning|Note: The contents of this page refer to planning documents of past Eclipse CDT releases. See [[CDT/planning]] for current information. }} | ||
+ | |||
+ | [[Category:CDT:Archive]] | ||
+ | |||
Please enter your CDT 7.0 plan items here. | Please enter your CDT 7.0 plan items here. | ||
Line 10: | Line 15: | ||
** Static assertions, | ** Static assertions, | ||
** Declared type of an expression. | ** Declared type of an expression. | ||
+ | * C++0x features supported by gcc 4.4, [https://bugs.eclipse.org/bugs/show_bug.cgi?id=302282 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 === | === Build === | ||
Line 25: | Line 60: | ||
=== API Changes === | === 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=301373 bug 301373]. | * 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=301373 bug 301373]. | ||
+ | |||
+ | ==== org.eclipse.cdt.dsf.gdb breaking API changes ==== | ||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=302315 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 | ||
+ | |||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=304146 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) | ||
+ | |||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=304588 bug 304588] | ||
+ | ** In MIVariableManager.MIVariableObject the method "public int getNumChildren()" has been renamed to "public int getNumChildrenHint()" | ||
+ | |||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=305178 bug 305178] | ||
+ | ** In the IGDBBackend interface, a new method was added "public void interruptAndWait(int timeout, RequestMonitor rm)" | ||
+ | |||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=202354 bug 202354] | ||
+ | ** In the IGDBBackend interface, two new methods were added "Properties getEnvironmentVariables() throws CoreException" and "boolean getClearEnvironment() throws CoreException" | ||
+ | |||
+ | * [https://bugs.eclipse.org/bugs/show_bug.cgi?id=305752 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. |
Latest revision as of 13:50, 22 January 2020
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.