- Change parser to include virtual specifier in function declarator
location
- Change DeclaratorWriter to write all virtual specifiers in their
initial order
Change-Id: Iff381394b834146c1b63877bc9eb84517d31e078
This allows querying alias template instances for their arguments (for
e.g. instantiating dependent arguments later).
Change-Id: I7cc3dfcef75fe0faf104dc7bfe11e2acd90a4748
We previously modelled alias template specializations as alias template
instances, which was conceptually incorrect and problematic for a number
of reasons.
Change-Id: Ibca8b87bb3d54cd3ae312254a02e8522e446331d
Besides the UX advantages of typedef preservation (such as refactorings
preserving typedefs), it's important for correctness because the
arguments of template aliases can be subject to SFINAE even if they
don't participate in the target type.
Change-Id: I4e71372553dc418d1b8c3e27bd2c0387a41a3269
When checking whether gathering the build output from a
CBuildConfiguration, if a binary is a shared library and is an
ELF file, dig deeper and see if it has an INTERP section in the
program header. That tells us it's actually a PIE executable and
add it to the list.
As a rider to this bill, improve the error message when a Qt install
can't be found for a given toolchain/target.
Change-Id: I8fd0bf2d204e9425b02916d7b17f4309a5ad9dd5
(cherry picked from commit 14b07f490c)
If we are merging two env vars and the operations are both
append or prepend, keep that as the operation instead of
replace.
Change-Id: I758a54b8903eabafac38bf2f3f7d7065c0373e70
Out-of-line definitions where the definition is in a different file
than the declaration are not supported yet.
Change-Id: I3631bdb3e08abe2aab266065c7858c66170fb570
This allows reusing more code, such as CommonCPPTypes and
BindingAssertionHelper, between the two test suites.
Change-Id: I8203191fc3a10565add0ae1bd25c98f743cd1e64
This ensures that, when instantiating the function call, we get into
EvalFunctionSet.resolveFunction(), and check that the function is
actually callable with the instantiated argument types, and error out
if it isn't (which is important for SFINAE purposes).
Change-Id: Ia01755bc1a830fded1f61658f4beef875cc0b029
Re-wrote the BuildConsolePartitioner to do as many operations as possible
in the non-UI thread and only to update the UI thread in batches.
Key changes:
- The UI thread "pulls" changes when it is ready, this means that many
lines of output are updated in one go. This compares to the "push" that
the non-UI thread used to do. The previous code pushed a change to the
UI thread on every line of build output.
- The limit on console size is now soft, rather than recalcuating the
entire document on each line (i.e. add line at bottom, remove line
from top) the document is truncated to the limit size as it reaches
2x the limit size. This calculation is also done more effeciently by
tracking the number of lines each partition contains rather than
recalculating them.
- Folded most of the implementation of BuildConsolePartition into
BuildConsolePartitioner. This is because the partioner has a global
view and is much more efficient at determining if adjacent partitions
can be combined. In addition, rather than having the complexity of
splitting partitions that were too long, instead make sure we don't
create such partitions in the first place.
Change-Id: I47543db3fef754e779684cae44d3316982f1bc0a
Specifically, this patch:
- Adds support for a new builtin, __builtin_assume_aligned.
- Models __builtin_constant_p as a function instead of a macro.
This inhibits constexpr evaluation, but allows for correct
type-checking.
- Diagnoses misuses of known builtins, instead of ingoring them like
unknown builtins.
Change-Id: Ie5a26f2010dc5b19e6f32a8c6a1237fe88da393e
and provide quickfix for adding fallthrough attribute
and add JUnit Tests
and add StandardAttributes class
Change-Id: I8cf0238771dc92bd1784b9dfb35a680d078b1db6
Depends-On: Ic09aa96f896b0a5dd998156e05930704775f695b
Signed-off-by: Rolf Bislin <romibi@bluewin.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Previously, we would just assume that if there is no user-defined
conversion involved, the evaluation successfully converts to the target
type.
This increased strictness exposed a couple of other bugs related to
evaluations, which are also fixed in this patch.
Change-Id: I8c40114da341d95b38f1ecc386e875badfe9f8c6
The manipulations removed in this change have no basis in the standard,
as far as I can tell by looking at [expr.ref].
Change-Id: I4fc8c342b590dbeb5a876543f736934c162034cc
Extended PDOMManager to update index for header files in referencing
projects
Change-Id: I5a5b364651dbb854662c31197dd7ad77f13caff0
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
The infinite recursion could happen if an inheritance hierarchy has a
cycle in it, or if a class aggregates itself (both of which are invalid).
Change-Id: I99598a57982dca51acab5a1297392f04d9008aec
There were issues with how the Core Build calculated whether reindexing
was required due to compiler settings changes. Also if a source file
was built more than once in a CMake build, it ended up always
triggering a reindexing since the second instance looked like a
settings change. We now only use the last compile command for a file.
Change-Id: Icf2922e527ae20e0c3b0dae898d981d334013109
This ability was only needed by two tests, and stringifying template
arguments is prone to infinite recursion problems.
Change-Id: I485fa09358c0569b48b6847994aed720ba969b1f
This prevents names getting incorrectly stuck with ProblemBindings
created at a time when the AST wasn't fully ambiguity-resolved yet.
Change-Id: Ibca4a774ee26c393bf2b6decb535b82a2329caad
You now have more precise options for the Source not
Found Editor.
Change-Id: I7391e50c0a9bf7fc712a45d1946e5a24e91c4991
Signed-off-by: Pierre Sachot <sachot.pierre@laposte.net>
Signed-off-by: Yannick Mayeur <yannick.mayeur@gmail.com>
Also-by: Pierre Sachot <sachot.pierre@laposte.net>
Also-by: Yannick Mayeur <yannick.mayeur@gmail.com>
The Package Explorer's content provider is not extensible the same way
as the CommonNavigator so it does not contain CElement in its tree;
instead it contains IResources (IFile, etc) and Java specific elements.
However, the file language mapping property page is set to be displayed
on selections that adapt to translation units.
So this change allows IFiles to be adapted to ITranslationUnits
therefore the property page can still be shown from the Package Explorer.
Change-Id: Ia52a62c2d8800e2a4f0404bc00e346decbacaa3b
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>