Because of the missing getRecordSize implementations, subclasses would
starting writing in records that were thought to be malloc'ed by
the parent but it was instead writing in other blocks, possible used
by other PDOM objects or free blocks to be used later and now not initialized
to 0.
This could lead to a few different exceptions like
- BufferUnderflowException(Chunk.getChars)
- CoreException: Corrupted database
- ArrayIndexOutOfBoundsException(AbstractIndexerTask$IndexFileContent.merge)
and possibly others.
Change-Id: Ie6d1986a22a9fb5f5e90cb741046d098ebf10a90
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
We need a way to alert the user that we are unable to find a toolchain
that maps to the current target. An ErrorBuildConfiguration is created
that simply prints out an error message at build time to handle this.
We then set one of these as the active build config in the tracker
with the appropriate message.
We also add a target listener so that when a target becomes OK_STATUS,
we run the tracker again to see if we have the right active build
config for that target. Some targets can only determine some of their
attributes when connected.
Hook up the IToolChain matches so we're using it in the toolchain
manager. This allows toolchains to do more complicated matching of
the properties.
Change-Id: Icaff85117e8147cd2793f2915fa75ce33673ab52
Add existing type-traits that were implemented for GCC that are relevant to
MSVC. Some are missing but even with those parsing is improved with minimal
effort. For the LLVM codebase, I see it go from 0.46% unresolved names (16,668)
to 0.19% (6,950).
This is combined with another patch that adds temporary macro hacks.
Change-Id: I441dcfa4a986edef78b75c0d6db04b78fdbc97b3
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
While a literal expression itself will never be negative (the negative
sign is parsed as a unary operator), we also use FloatingPointValue to
represent results during value computations which can be negative.
Change-Id: I16227b2d19256066b094ae60476e124b4bcea14d
Add missing ; to test case.
Change-Id: If0224c4fc3580cbe527efe0d3a5739896a000d7e
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Recognize MinGW installations by checking the path of gcc.exe for
substring "ming".
Change-Id: Ibc6d4b03ef715036176e3aea6382dd986e4caae8
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Without setting dependent plug-ins to minimum version to match the
target platform we are aiming for we can imply (and therefore let install)
CDT into older versions of Eclipse where CDT does not actually work.
This can be exposed in very odd ways, such as IllegalAccessError, when
platform has allowed API changes.
However, rather than update every single bundle in CDT, only the
o.e.cdt.core/ui bundles are being updated as this should achieve the
desired result without every other bundle needing to be touched.
See Bug 536448
Change-Id: I1c8f102a9a750e40970197da3e6cd56d139492bc
Methods weren't added if the virtual methods were in a base
template class.
Change-Id: I34b05eeb1e7dc5ce83944a642461eca521764967
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
It's now possible to select among four options for the
implementation of single method stub: delete, default, inline
or definition.
Change-Id: I9aac9c53a5a7143235d0f2f447b8d22fa2e2c839
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
The testLeakingInstanceAfterClose test relied on some weird
behaviour of an earlier test (testScalabilityDialogNotDismissedInadvertently_417909)
which had the effect of opening the editor window without the
welcome screen. This change makes that explicit and adds a little
bit of logging to identify why the testLeakingInstanceAfterClose
test may sometimes fail.
I have also increased the maximum time allowed before the test timesout.
Change-Id: I3433ccf1fc02cff76eeb278d05fee082157ca49c
The caches used to be thread-local, but that did not survive the
refactoring in bug 512297. This patch makes them thread-local again.
Change-Id: Iffe37aef292e4efb05e30af2a251a71fb57b343d
Resolution for DR1591 clarified that initializer list size could be used
to deduce array size (if it is a template parameter).
Change-Id: Ic3617e31b125083f1205f91383eb27f5e5a29041
Signed-off-by: Davin McCall <davmac@davmac.org>
Protects for infinite recursion in case the type (illegally) aggregates itself.
Change-Id: I2e70f85a73b3d2ed6fec432fa2f768f2bcf8d1bf
Signed-off-by: Hannes Vogt <hannes@havogt.de>
- Adds getNoexceptSpecifier() to ICPPFunctionType, returning the
evaluation for the noexcept specifier.
- Adds isNoexcept() to ICPPEvaluation, which returns the result of
applying the noexcept operator to the evaluation.
- Empty throw() specifier is treated as noexcept(true).
- Improves EvalTypeID.isConstantExpression() for conversions.
Change-Id: I4c6418aea21bb258693b33d956bc3745918f3759
Signed-off-by: Hannes Vogt <hannes@havogt.de>
- order build config names so when clean for a project goes through
the build configs, it finds the active one last and thus it will
appear in the CDT build console
- do this in CoreBuildLaunchbarTracker.setActiveBuildConfig()
- do this in CBuildConfiguration.setActive()
- do this in CoreBuildLaunchConfigDelegate.buildForLaunch()
Change-Id: I379d6c9ba298f02cbc75d16e9941527cd2f9f45c
- fix CBuildConfigurationManager createBuildConfiguration to always
ensure "" is added to the build configuration names so future references
to Local will find the default build configuration in the
ProjectDescription
Change-Id: If15dde12befe060b4eb7c0ba2a2aeabbc1089ffa
- synchronized core build project description
manipulations using CoreModel as synchronization
class
Change-Id: Ic1312d5819ddc08acb492f57a2d87f1998329805
Rules used:
1) Default is right alignment to be compliant with built-in formatter
rules;
2) Pointer with declarator without name will be always left alignment
unless there's a nested declarator;
3) Return value of methods/functions is always left alignment;
4) If left alignment is selected, if space after comma is selected too
for a declaration list, space is always forced after the comma.
Change-Id: I82d5ad130e665e5357644cc59655a558f3fb732f
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Local scanner was peeking tokens from inactive regions confusing
the formatter.
Change-Id: I5975ec1042474be84b897e047a1e59cfc8bfa083
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
The option was already used but there wasn't any widget in the UI
to let user change it.
Change-Id: Ib8795468cc83b89bb3ef9676a5e0ed3f288d55da
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Create deferred functions for constructor calls with dependent
arguments.
Change-Id: I007dd4fd12c13acdcb39225b73051589f6dafad3
Signed-off-by: Hannes Vogt <hannes@havogt.de>