- changed gcc builtin settings providers to prefer non-shared
- added isIndexerAffected method override to ToolSettingsTab which
looks at new isIndexerAffected boolean
- add logic to ToolSettingsTab setOptions() method to look for
dirty options that return true for isForScannerDiscovery() or
are special options that affect include path or defines
- add performok method to ToolSettingsTab to look if isIndexerAffected
when user hits OK without hitting APPLY
- change the message for bringing up the question dialog for end-user
to choose whether to reindex or not
Change-Id: Icd740caafe638f272b6f1434d5817f2377ffe04a
in GTK3 when the current selection is removed from the
org.eclipse.swt.widgets.List the selection is updated to another item,
on GTK2 and Windows the list stops having a selection.
This change updates the code to safely delete all selected items.
Change-Id: Iedc99db89af117a04ad163190bdda0f8720eb2a6
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Separate profiles for building single arch to allow full builds on the
arch one runs the build on. Simplifies build for people building from
source significantly.
Change-Id: Ic7738328b8e7072654ba7a673220a43feebb6801
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
new build configs now support binary parsers which are by default
driven from the toolchains. Ran into problem with new versions of
toolchains. Added versioning info to toolchains to take that into
account.
Change-Id: Ie1fb7755e84239b525dca0ae11759027a0b44574
32 bit elf parser of 2G+ elf files does not read
some field properties because it does signed extension
when reading unsigned integer
Change-Id: I64b47cc0849d4fb41daec258b2a595003b9de734
Solaris Sparc support was removed in SWT therefore it cannot be
supported by CDT anymore.
Change-Id: Ic40f55632023fd77fd164d3e48b5ca06835c3a31
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
ChangeLog is an archaic format for identifying what has changed in a
project. Fortunately more powerful version control systems are capable
of generating this information and displaying information such as this
paragraph in order to determine what has changed in a project and when.
Change-Id: Ia71a05fa51869c1adb193d94f71c28b3b36beb37
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Eclipse warns if a String literal does not have a `//$NON-NLS-<n>$`
entry at the end of the line. However, for historic or formatting
reasons, many such occurrences in the CDT source have an intermediate
whitespace, such as `// $NON-NLS-<n>$`
Fix these so that the whitespace is removed between the // and $
characters.
Change-Id: Idc12398fe6e9d619af1d0b1b73fb8b6180da223c
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
When using a `StringBuilder` or `StringBuffer` to create a string message,
using implicit string concatenation inside an `.append()` call will
create a nested StringBuilder for the purposes of creating the arguments,
which will subsequently be converted to a String and then passed to
the outer StringBuilder.
Skip the creation of the intermediate object and String by simply
replacing such calls with `buffer.append(a).append(b)`.
Where values are compile time String constants, leave as is so
that the javac compiler can perform compile-time String concatenation.
Ensure that NEWLINE isn't appended in such a way since it is not
a compile time constant `System.getProperty("line.separator")`
Change-Id: I4126aefb2272f06b08332e004d7ea76b6f02cdba
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Creates a single central CBuilder builder which find the C Build
Config and delegates the builds to it. That give configs full control
over the builds. Qt and CMake build configs are adapted to this new
structure.
More features are added to the default super class for configs.
Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.
Change-Id: I2634593603eef88dd68e127de9319377f43e7436
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
This is done by tracking the set of lookups of names in primary template
scopes performed during a heuristic resolution, and short-circuiting a
resoluton if the same lookup is attempted twice.
Change-Id: I512cdc9493d1ac91b1f77603d816a33312d4be00
In many cases a String's empty status is tested with `.equals("")`.
However, Java 1.6 added `.isEmpty()` which can be more efficient since
it compares the internal length parameter only for testing. Replace
code using the `.isEmpty()` variant instead.
Some tests for `"".equals(expr)` can be replaced with `expr.isEmpty()`
where it is already known that the `expr` is not null; however,
these have to be reviewed on a case-by-case basis.
Change-Id: I3c6af4d8b7638e757435914ac76cb3a67899a5fd
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Replace all occurrences of `new String(expr)` with `expr` provided that the
`expr` is not a byte array or a char array.
Change-Id: Iecae801b83084908b60b9e146eba87550eac640d
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Occurrences of `new String("...")` have been replaced with a direct reference
to the literal it was wrapping.
Change-Id: Iefb49a009f210db59e5724e0a232dba2e13292b1
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Occurrences of `new String()` have been replaced with the equivalent `""` and
additional NON-NLS tags have been inserted in where appropriate.
Change-Id: I54cf71dcd0d5a92a675a71166d66949533de502b
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.
Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.
Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
From JLS 15.27.1.
It is a compile-time error if a lambda parameter has the name _ (that
is, a single underscore character).
The use of the variable name _ in any context is discouraged. Future
versions of the Java programming language may reserve this name as a
keyword and/or give it special semantics.
Change-Id: I6f357dcc8f1eea933c6fc3afb474982e6d6210fe
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.
Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.
Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.
Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0