Skip to main content
Jump to: navigation, search


< CDT‎ | Archive‎ | planning
Revision as of 13:56, 22 January 2020 by (Talk | contribs) ( moved page CDT/planning/3.1 to CDT/Archive/planning/3.1)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Note: The contents of this page refer to planning documents of past Eclipse CDT releases. See CDT/planning for current information.

Endgame Plan

CDT 3.1 is planned to be a part of the Callisto simultaneous release. The following is the current endgame plan:

  • RC0 – May 1 (done)
  • RC1 – May 15 (done)
  • RC2 – May 29 (end of free-for-all bug fixing)
  • RC3 – June 12 (critical fixes only, GA candidate)
  • RC4 – June 26 (if necessary, emergency fixes only)

Please add your CDT 3.1 plan items below.

The Debugger Plan Items

The 3.1 plan below is a draft in progress - input from the community is welcome.

Eclipse Debug Platform improvements

Asynchronous API

Provide asynchronous adapters for the CDT debug elements Bugzilla #106205.

Pluggable view update policies

Investigate the possibilities and advantages of the pluggable update policies feature for CDT Bugzilla #104111.

Debug context management

Investigate the advantages of the new debug context management for CDT.


Modules and Signals views

Replace the current viewer by the asynchronous tabletree viewer.

Signals view

Move to the gdb/MI UI.

Disassembly view

Improve the disassembly view Bugzilla #115786, Bugzilla #27239, Bugzilla #27892.


Projectless debugging

Allow to debug executables built outside of CDT Bugzilla #39640.


Add modularity

The idea is to allow clients to contribute parts to CDI that overwrite the default implementation.

Support for modules

The modules view information should be retrieved from the backend Bugzilla #102164.

Support for symbol tables

The symbol table related information should be queried from the backend Bugzilla #91771.

Source lookup support

The list of required source files and directories should be provided by the backend Bugzilla #41529.


Modified/extended gdb/MI protocols

Add an extension point to contribute command factories Bugzilla #114793.

Special launch configuration type for GDB Server

Add a separate launch configuration type for GDB Server instead of supporting it as a special debugger Bugzilla #79458.

Verbose mode for gdb console

Add an option to display the gdb trace in the console Bugzilla #113107.

Managed Build System Plan Items

Support for resources with spaces

Support spaces in the project name, sub-folder names, project resource names, and linked resources. See Bugzilla #76613, Bugzilla #85227

Tool input ordering - Deferred

Support user defined ordering of tool inputs (e.g. the user can reorder the inputs to the linker to ensure link time dependencies are resolved in the proper order). This feature has been deferred

Partial builds/cleans

Support building/cleaning a single file, and compile all without linking. See Bugzilla #45538.

New Dependency Calculator interface

Add a new dependency calculator interface. It will use Paths rather than Resources. It will add more flexibility to how dependencies can be generated. Convert the built-in GNU tool-chains to use the new interface and to generate .d files as a side-effect of compilation. See Bugzilla #109289 and Bugzilla #108715.

Usability improvements

Allow CDT users to select the active build configuration in the C/C++ perspective without going through the project Properties dialog box.

New Build Description Model

The proposed model splits the building process into 3 separate steps:

1. A builder-independent description of how to build the selected build configuration is generated from the ManagedBuildInfo model.

2. A build file generator uses the build description from step 1 to generate buildfiles that will perform the build, or an internal builder uses the build description to determine what needs to be built.

3. The builder is invoked to perform the built using information generated in step 2.

The model will be partially implemented in CDT 3.1. See Bugzilla #126221.

Build only what is needed

Building only what is needed to be built. See Bugzilla #76452, Bugzilla #121375

DOM Plan Items

DOM Persistance (PDOM)

Persist names and bindings and anything else necessary for fast retrieval by editor and source navigation features. Rewrite the search engine so that it uses the PDOM instead of the old index.

Index View

Create a view that presents a tree representation of the contents of the index.

Indexer and Type Cache Removal

Remove the old indexers. The PDOM provides more information than the indexers provided. Move all features that directly used the index to the PDOM, including search, class browser and type hierarchy.

Multi-Language Support

Support the adaptation of the DOM to multiple languages (at least formalize the interfaces since it is already multi-language). Ensure features that use the DOM do so in a language independent manner as much as possible.

Back to the top