CDT has two representations for a pointer type wrapped in a
qualifier type: it can be an IPointerType with some qualifiers
set on it directly, or an IPointerType wrapped in an
IQualifierType. (We prefer the first representation to avoid
creating too many wrappers, but sometimes the second one arises
during template instantiation.) This patch makes sure that two
such types can compare equal even if they use different
representations.
Change-Id: Ia8c7d227c74378aae74f04545b9a69103c14e74b
When using -ffunction-section, each function is placed in it's own
section name. For example the main() function would be placed in
.text.main, so the pattern looking for undefined references needs to
allow the extra dot there.
Since C++ will use other symbols than what's included in \w, lets allow
everything except a + sign and whitespace.
Change-Id: I66d9ee7d8cbc0a405e60d7cdeb43c38b30107245
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
(cherry picked from commit 36de92cc77)
In commit f69a613d72, a check for null and
0-length array was introduced, but the checks is not reliable unless the
checked value is later used.
Change-Id: Ifc32b369514ee03eeea21281a7af80616531af87
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
Straightforward conversion. Still usages left that need deeper
investigation how to be done proper.
Some long time commented code removed as java formatter breaks trailing
whitespaces on save.
Change-Id: If74259bed5735b0d4cc98fc2cfa609c9c53c80c9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Part 2 (please refer to the Bug 559193 regarding the reasons to rework):
- Doxygen option read-only API for clients
- Doxygen option storage API for configuration UI
- OSGi component for Doxygen API implementation
Change-Id: Ia97ade397f1040087898aeb3b50872473d3c0631
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
If a variable is in a decl type specifier can't be evaluated as
written.
Change-Id: If78a567dab99e55c78e16c3b7f10c45bbd0a0606
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Part 1 for "Rework DoxygenPreferences to encapsulate constants" (please
refer to the Bug 559193 regarding the reasons to rework):
- option metadata API
- option storage API
- Preference-based storage
- tests for added types
Change-Id: If6f2caa4c8e659497b0e95c00ec959a9888998d7
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
This change fixes a file descriptor leak in
ElfParser.hasInterpProgramHeader(). An Elf object is created without
calling its Elf.dispose(). This results in a created RandomAccessFile
object, without a respective RandomAccessFile.close() call.
Change-Id: I6d2a0911857eb6fcb388b352801c2259ae19171c
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
When using the cache, only put the string reference in the typename
if over the threshold.
This is essentially a fixup for Bug 519121
Change-Id: I1436a9740bfb8ce46747f9a2ab0649ed366c4d9b
This was proposed for standardization in N3599. The proposal was not
accepted, but it's supported by gcc and clang as an extension.
Change-Id: I0c4a6e532f3a9172a8cb26218f0a608a1ca6be7d
We were using equals() on char[] array objects which returned false if
the objects were distinct, even if they contained the same characters.
Change-Id: Iff5da52c67a0c17d857d791f57e768aafa7e165d
Read and write flags weren't correctly set for array access.
Change-Id: I2c54b270895514f3681903709498aa9344a5bc7e
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Move the __STDC__ macro to the scanner configuration extension, where we can
differentiate compiler type. Only add it when compiler type is not MSVC.
This will miss the case where MSVC is compiling in C mode and /Za is used,
then __STDC__ should be defined but this is a much less common case and would be
addressed likely outside scanner configuration.
See also
https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
Change-Id: Icc5d3ef038fb468efe33802a04fc78fc1e5e583e
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
This reverts commit 9a6fd2ab97.
A proper implementation is needed to resolve bug 551610.
Change-Id: I1ea353ea905a33dc43ceda59dde93c15de2032cd
Signed-off-by: Hannes Vogt <hannes@havogt.de>
Implements http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0017r1.html:
Types with non-private, non-protected, non-virtual base classes can be
aggregate initialized.
Change-Id: Idad341d45d6aaf1d8c36691cf8d7bc7cd049e28b
Signed-off-by: Hannes Vogt <hannes@havogt.de>
Fix constructor calls of the form Type{...} to a constructor of
the form Type(std::initializer_list<T>).
So far only Type({...}) was supported.
Change-Id: I09e3b8c9c73c30e12c0c370a5c88885079a14746
Signed-off-by: Hannes Vogt <hannes@havogt.de>
ClassTypeHelper.getDeclaredFields() returns the first field of an anonymous union.
Change-Id: I3f33dcdd7b274ffac7aad0b80ea8c523bfd6e5f2
Signed-off-by: Hannes Vogt <hannes@havogt.de>
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: Ifad2e0eef003b037ac332301120c26fe079a2e7f
This new parser is compatible with both 32 bit and 64 bit executables.
Change-Id: Ief9db7c6fcc10ea9e92d5ca58186eb50100d39f6
Signed-off-by: Adrien Thierry <adrien.thierry@spacecodesign.com>
This allows us to consider more than just the os and arch in the build
config names as required by the selected toolchain.
Change-Id: I3e1a52c756aca13fbe6c83a95f9a86bb2f286f1d
If we call it without cloning, we associate the value with every place
that has a reference to that CPPBasicType object, which could involve
completely unrelated entities.
Change-Id: Icff6c32d15ee6dbc55e363b2de9a166e03440f74