Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CDT/Archive/planning/7.0"

< CDT‎ | Archive‎ | planning
m (Parser/Indexer/Editor)
(Parser/Indexer/Editor)
Line 15: Line 15:
 
** Auto-typed variables,
 
** Auto-typed variables,
 
** New function declarator syntax .
 
** 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 ===

Revision as of 08:26, 3 May 2010

Please enter your CDT 7.0 plan items here.

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
  • 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.

Back to the top