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
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
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>
This ensures that if the target type of an alias template changes,
the target type is updated in the index during an incremental index
update, without requiring a full index rebuild.
Change-Id: I8800e3c1701409276f8db64000499a5fa9caf6a9
Fixed by getting rid of legacy code for opening a master pty, and
copying the related code from org.eclipse.cdt.core.linux instead.
Only getpt() had to be replaced by posix_openpt(). Compiled on
OSX 10.12 - tested on MacOSX 10.8 and 10.13 beta 7 (64-bit each).
Change-Id: Idade001aed41abafc0d500695a4b51179bb9b738
Signed-off-by: Martin Oberhuber <mober.at+eclipse@gmail.com>
Fixed by copying code from org.eclipse.cdt.core.linux that
contains the fix from bug 119387 : set the process group by
calling setpgid() when forking a process, and use killpg() for
killing the entire process group on termination.
This also aligns MacOS code fully with Linux code. Tested on
MacOSX 10.8 and 10.13 beta. Binaries will be submitted with the
related fix for bug 519886.
Change-Id: I87df87caa88cff60b4d9eee2252252234d1a4f84
Signed-off-by: Martin Oberhuber <mober.at+eclipse@gmail.com>
- Have resolveUnknownBinding() run the full "resolve unknown type"
logic if the binding is a type.
- Handle EvalTypeId
Change-Id: I97946453755ddcf6f382195ddb9fc7dcb2672b68
CSourceHover did not know how to handle UnknowMemberClasses
Change-Id: I4ef6a4ad794e670c4d5e9ccc9cea204f8d273f2a
Signed-off-by: Michael Woski <woskimi@yahoo.de>
As ArrayContentProvider is stateless, re-using the global instance
avoids a few allocations.
Change-Id: Ia378195c2c90e35badcf6e2c1938a93877a442e6
Signed-off-by: Andreas Sewe <andreas.sewe@codetrails.com>
When creating the settings.xml, avoid writing to the file unless
the contents have actually changed. This avoids a resource delta
that caused unneeded rebuilds.
Change-Id: I83cea84e96d006f99a1c264f283d4bba4ad68784
This resolves a significant UI performance regression so
now line numbers don't need to be recalculated for areas
where they are already known.
Change-Id: I4668d620cde24b7cd8c6a22e9c022eaf5b237ff2
Adds in Core Build support for the MSVC toolchain. Fixes issue
with PATH in the core build configuration since on Windows it's often
Path.
Change-Id: I3eb201bc22bf42341207e8f3bbef999d4d174f05
(cherry picked from commit 7f3745c765)