This ensures that name resolution can proceed when a TypeOfUnknownMember
appears on the left hand side of a scope resolution operator.
Change-Id: I2dfc22eb474b8a2f776eda09ce90c91462d7fe5b
The DSF-GDB LaunchUtils rely on
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE for correct
behaviour.
Change-Id: I12ae2dea6918233dc09848b7bbbedc6304294d1a
Signed-off-by: John Dallaway <john@dallaway.org.uk>
FTDI chips.
Increase the choice of serial baud rates for GDB as modern USB Serial
FTDI chips can reliably support serial baud rates higher than the old
RS232 115200 maxiumum.
Change-Id: If60fd006fdb02d94e86ef2e76a26b56da7a3a067
Signed-off-by: Alex Schuilenburg <alexs@ecoscentric.com>
Add c++ to GCCToolChain since that's what CMake uses by default for
MinGW. Synchronize the scannerInfoCache loading. Double check for
toolchain files at load time for configs that don't have any.
Change-Id: I8071e285ce5deb1448cabd45f394c62fe6a7f2f4
On my Windows box I have lots of GCC toolchains. Make sure it selects
the one from the Qt install. And fix a few NPEs and things around that.
Change-Id: Ifeeca9271b5055ac773b3b77e372a67e07305130
In particular when Qt Installs are missing. This is a similar scenario
to when toolchains are missing.
Change-Id: Ic78f71436e46c73900a556133c3883df807784d9
Don't rely on default properties any more. Make sure we can handle
the cases when the properties are null.
Change-Id: I8b359891286118553399e7635d2ea4b7f147892a
A type can appear as a constituent of another type multiple times.
For example, in 'A<T, T>', 'T' appears as a constituent twice.
When building a type string for 'A<T, T>', this means the type string
of 'T' will appear in the type string of 'A<T, T>' twice.
If such a duplication occurs at every level of a deeply nested type
structure, the length of the type string can become exponential in
the nesting depth.
To avoid this, an optimization is added where, past a length threshold,
type strings refer to constituent types "by reference" rather than
by containing the contents of the constituent type's type string.
Change-Id: Iaea268449a11b598f113a49fc61e9993bb6451da
ASTCache now sets the AST as the initial lookup point when invoking
an ASTRunnable.
In addition, OpenDeclarationsJob sets the selected node as a more precise
lookup point.
Change-Id: I9b32fccd80bc1b13e6da49a80a896b595784b868
Previously, caching of type strings would only be done during indexing.
Now, it is done every time an AST is available, including operations
like semantic highlighting and mark occurrences.
This is important, because without caching, ASTTypeUtil can end up
rebuilding the same type string many times, leading to quadratic
performance on some code patterns.
Change-Id: I260877f820665cbe0939c0c3065514559592e721
EvalParameterPack was a misleading name. This evaluation represents
a pack expansion expression; the expansion pattern has to contain
one or more parameter packs, but they can be nested inside an
arbitrarily complex expression.
Change-Id: I16d09c349fc6c2b1086e37fd6743f613f02bf5eb
Using IPath.toPortableString() was causing a forward slash vs.
backward slash mismtach in the path comparison on Windows.
Change-Id: Ib3eb392065fb473f6b6e70cb1dcddceb34ae7240
A number of changes that clean up how build configs are done. Now
build settings are stored with the build config instead of in launch
configs. That makes it less launch bar specific. Add build settings
UI to change the toolchain used for a given launch config.
Also changed CMake so it's IToolchain based instead of property which
doesn't work when multiple IToolchains match.
Change-Id: I958d90ede3c1f873ab1530c2b2880808e8f7abef
Issue a GDB/MI "-break-insert -t -f" command rather
than "tbreak" to avoid raising a "=breakpoint-created"
event which would trigger the breakpoint synchronizer.
Change-Id: I330f3e69fe096cb16791e4d7de7af92b2c9ccd0c
Signed-off-by: John Dallaway <john@dallaway.org.uk>
The -exec-continue command must be last in the GDB
Hardware Debugging launch sequence to ensure any run
commands are executed before application code.
Change-Id: I1eae32698e80d1c1b36da4bbdf21d85d363bcd05
Signed-off-by: John Dallaway <john@dallaway.org.uk>
Also restructures the pom.xmls to put the modules in the top level
so we can order them to have the test plugins build after them.
Change-Id: I2f0e4ebd252791fb8844cdf0f635d574946207aa
Fix the async calls that can run after the DebuggerConsole is closed
and removed so that they can't NPE.
Change-Id: I7905ee18a92be0ff5de25a4c8d770a694b06bfe1
All the uses of the service in the code base allow it not to exist,
so allow the service not to exist at launch too.
Change-Id: I907038907e87d5fbc882272b6e41cd1587617281
On Windows the PTY's waitFor will be blocked (and therefore not
see debugger termination) until the handle to stream is closed.
Change-Id: Ifa079a064733a12a03b07c3e7361e1d19d2b8be8
This is a revised approach for fixing this bug by giving using-
declarations implicit names for each delegate binding.
Change-Id: Ib9695c30258b8cb322ae1548ab022e357318135c
According to the standard, if a friend declaration is the only
declaration of a class type, then that class type is only
visible to argument-dependent lookup until another declaration
is encountered.
Bug 508338 attempted to implement this rule for PDOM class
types by not storing the class type in the index at all when
that first declaration is encountered. However, this meant
not recording the friend relationship either, which regressed
CompletionTests.testTypes_FriendClass (which was then disabled).
Bug 512932 implemented this rule for AST class types in a
different way, by keeping track of which names are visible to
ADL only.
This change reverts the fix for bug 508338, and extends the
approach from bug 512932 to PDOM class types. It also re-
enabled CompletionTests.testTypes_FriendClass which now passes.
Change-Id: I9a845fdba514339d86c0c3761a85cf34a17a5613
Provide a way to add new toolchains. Also start of UI to allow for
reordering them to help with toolchain selection for targets.
New Generic Target Wizard for the new wizard2 extension point for the
Launch Bar Target UI.
Change-Id: I60635ab27dad5b69df72c339337473183dcf711a
Previously, such filtering was only done in resolveAmbiguities(),
which was too late for name lookup for proceed to an enclosing
scope if it did not find valid candidates in the namespace scope.
Change-Id: I435d7be1aff5344985c1bbb201bf5d383d43fe8d
FileEvents are useful for indexing and lsp4e (so far) does not send
them. It is not clear whether or not this will be implemented in lsp4e.
In the mean time, lsp4e-cpp can have its own mechanism to generate
the events.
Change-Id: I09aac4fda7755260f47b73fd683ca6d2ad317f81
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This fixes a couple of places where a call to
PDOM.acquireWriteLock() is not paired with a call to
releaseWriteLock() in a finally block.
Change-Id: I45a8bd9a2f6585bb4c4bc1f726fea6f9eba5fb43
- org.eclipse.cdt and org.eclipse.cdt.sdk features have same
name as plug-ins so we need a pom.xml to distinguish the
groupid for Sonar job to work
Change-Id: I7098021d40fec66ee5a6dc093bd12c3ee896c4f7
- This commit is still needed to allow CDT Sonar job to run
so that features that have same name as plug-ins
will be distinguishable by Sonar job
Change-Id: I3eb3f3cf94d5f4338d72c5d19d0baf2f7506c388
Previously, the decl-specifier was used as the key, but a decl-specifier
can be shared by multiple declarators, so seeing the same decl-specifier
against doesn't necessarily mean we have infinite recursion.
Change-Id: I165088c5379d412d1c31f2655c20a02629fbe596
CModelListener.addLastRecentlyUsed (thrown in
LinkedHashMap$LinkedHashIterator.nextNode)
CModelListener reacts on all the resource events, but is NOT MT-safe due
the not guarded access to the "fLRUs" map, which can be iterated AND
modified at same time by different threads.
This commit introduces synchronization on the "fLRUs" map field. This is
safe as the field is private and not exposed to other objects, and the
code inside synchronized block does not call into other locks which
might interfere.
Change-Id: I3e601f02e93e40a1454c9a581fa46378904eb3dc
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>