...by not passing in IDE_LIBEXEC_PATH.
While at it, fix the call to CrashHandlerSetup.
Change-Id: Ie4018bf58f286c121bb85951546c4fe4d31e9959
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This is a partial revert of the type id change (bd2653fb) to get
the case of virtual bases work again, as it falls back to native
field accesses everywhere we have native types.
This is likely to be a performance regression with CDB/Python,
but since this combination is experimental and not used by
default in 4.2 getting GDB/LLDB right is more important.
Medium term we might want to have a more fine-grained approach
to use of type ids (e.g. use native field accesses on a case-by
-case base only for type with virtual inheritance)
Change-Id: I239111e6ce5f3365b750068bfc4dafb12be1d53c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The appman plugin is supposed to add device support for the Qt
Application Manager. This is something which the current state of the
appman plugin does not provide, and which it will most likely do before
the release of Qt Creator 4.2.
Change-Id: I2e73e7270488097eca8cfaac2ba6ff051451f9a7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Currently this function is just used for debugging purposes.
Change-Id: I4058f417235050b5a93e0437f2752921bfecc405
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The evaluate function of the cdb python module returns an integer
representing the address of the evaluated expression. If the expression
does not evaluate to a pointer the python module currently returns a
NoneType.
Change-Id: Ifc77109ef2161a3895a7661789f05134a4b64168
Reviewed-by: David Schulz <david.schulz@qt.io>
don't resolve the source files once for deployment and once for the
project tree.
Change-Id: Ifddf8fc7883bf025d3640de0d6676b5930991088
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
instead of resolving all sources both in the exact and the cumulative
pass and de-duplicating the joined list in the end, resolve only these
files from the cumulative pass which are unique to it to start with.
Change-Id: Ie3327799ecd94f8710f8b99bcc46998790ba2c74
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
rather than resolving them once in bulk (for the code model) and once
per pri file (for the project view), resolve them only in bulk, but
"tag" them. then do a cheap filtering pass for the project view.
as a side effect, this fixes the problem that sources that are listed by
a file that is not shown in the project tree (as is the case for qrc
files synthesized by resources.prf) would not be shown at all. instead,
these sources now appear belonging directly to the pro file.
Task-number: QTCREATORBUG-3670
Change-Id: I1a1756d95bd90db4da1274eebcc4dad2a854f43d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
so far, we used a build pass only to retrieve accurate target
information from the exact evaluator. however, this is insufficient for
at least two reasons:
- the recently introduced postprocessing of RESOURCES in resources.prf
is executed only during build passes
- some relevant variables are build pass specific, for example
INCLUDEPATH when it includes RCC_DIR
an additional upside is that using the build pass' values is consistent
with qmake's vcxproj generation mode.
on the downside, the extra cumulative build pass adds 33% of pure
project evaluation time. however, this isn't as bad, as the pro files
are already loaded and parsed, and the expensive source file resolution
moves completely to the build pass.
the alternative of defeating the build pass logic (as lupdate does) is
not feasible, as we rely on accurate target information from an actual
build pass for the run configurations.
note that this all applies only to windows (and macos when explicitly
configured with -debug-and-release).
Task-number: QTCREATORBUG-16019
Change-Id: I8a97856b3b738aa1a581d24ba24bb3e7199d8078
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
consistently with Xcode, qmake nowadays knows only one SOURCES list,
which is automatically classified by extension.
to replicate that, we actually copy the objective_c.prf file from qt
5.6.3 and use it to override whatever comes with qt, so we can treat all
qt versions uniformly.
also, the code model throws away the information which files were listed
as sources and which as headers. this is technically incorrect, as a
source may be only included rather than compiled, but there is no point
in extracting information which is not used.
conclusion: lump all c-like sources into one variable as far as project
processing is concerned.
and as far as configuration goes, our code model doesn't differentiate
anyway, so the duplicated setup paths can be eliminated as well.
Change-Id: I24b1bc056f8d9eb579c9378817f602912ab49971
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
each such object has exactly one associated ProFile if it shall result
in a pri node, and no ProFile if it shall result in a pro node. there is
no point in dealing with lists at various levels.
Change-Id: I930fd8c14fcd6336cd297bacefdd0036f556741b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
the cumulative evaluation has a good chance to make a mess of the
virtual file contents created by the exact parsing, so better contain it
to its own namespace.
the ProFile cache also needs to keep the files separate. this
specifically addresses the side issue discussed in QTCREATORBUG-10779.
it also fixes attempts to deploy the wrong build when the variant is
selected through a cache file, as in QTCREATORBUG-15815.
in the project explorer, we don't track from which evaluation pass
particular files came from, so we try the cumulative first to get the
most contents, and fall back to the exact one if the former file is
empty (or does not exist at all).
Task-number: QTCREATORBUG-15815
Change-Id: I2c1eb16c97526fa275a1c6a2eae9266d385859ac
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
ProFileEvaluator::absoluteFileValues() now returns only files, which
allows us to skip the subsequent QFileInfo::isFile() calls at some
call sites.
as a side effect, IoUtils::fileType() does not see anything except
regular files and directories any more. that's not expected to be a
problem, given the function's scope.
Change-Id: I53063ad8cacb3afe5cc1baf6d6d5feba3465e74f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
when the QFile object is already constructed, querying whether the file
exists is actually cheap, so do it right away instead of later on
demand. that makes the calling code a bit cleaner.
fwiw, that we need to explicitly query the file's existence at all is a
result of QFile's completely useless error "codes" (which merely say
which function failed, as if the caller would not know).
Change-Id: Ifec39d05b1713d8128046f679287e510f10e45dc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
qmake doesn't do anything with sysroots at this level, so this code
plain does not belong here.
sysrootification is used when resolving INCLUDEPATH, which is emulating
compiler behavior. this is done by higher-level code.
Task-number: QTCREATORBUG-11944
Change-Id: Ia25f0b6ef713e9809d974e3f3e49ba308b8c933f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... and use it for PRECOMPILED_HEADER, INCLUDEPATH, and install target
collection, instead of abusing ProFileReader::absoluteFileValues().
specifically, this falls back to a location in the build directory when
the path is relative and the file cannot be found. in qmake, this
somewhat weird behavior ensures that chaining extra compilers actually
works (and also ensures a lot of frustration with non-clean source dirs
...).
this also fixes INSTALLS with .CONFIG no_check_exists.
Task-number: QTCREATORBUG-14848
Change-Id: Iaf9483c0c4586c464bd10a2aea7cbac7e0df1ec5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This patch adds a slight fill color, which makes these two icons more
conform to the other icons in the menu.
Change-Id: If7ae5a5c4c642c28a33f03f1b45b4bdaa61688da
Reviewed-by: hjk <hjk@qt.io>
The size of the small string optimization was hard coded. For some use
cases you want a bigger or smaller size. It is now configurable by a
template parameter. For that we changed the name to BasicSmallString and
added an alias of BasicSmallString<31> to SmallString.
Change-Id: I844b4420d260290307a6018bb6cc4cf3ba7bd449
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Left brace wasn't handled in the expression_maybe_continuation state
of qml/js code formatter. It led to expression_or_objectdefinition
could not be continued on a new line.
Task-number: QTCREATORBUG-12326
Change-Id: Id8fcaa586000008fce72c7c0c03ed1739b1c7aa1
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Normal contructors are called before templated constructors. So it would
call SmallString(std::string("foo)) for SmallString("foo"). To prevent that
we change it to a template constructor.
Change-Id: Ibd249cedd638cbc2e6755c988be41fa5bb6e1ff6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Depending on whether DWARF-2 or DWARF-4 is used, compilers encode
rvalue references as lvalue reference or rvalue references.
GDB doesn't understand rvalues, and there's no workaround, so restrict
the test to compiler version that use DWARF-2 by default.
(see https://sourceware.org/bugzilla/show_bug.cgi?id=14441)
Change-Id: I98ed73844571a07e81003cf99c6d7e0be37722b5
Reviewed-by: hjk <hjk@qt.io>
- Fix changed image file names
- Fix button text
- Remove images for zooming functions
- Create an image for an icon that cannot be used as is,
because masks are used
Change-Id: Iee5391e70102166a4a3d82366c1fc2740641be12
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
If we have a pure QML plugin with a qmldir file,
then the code model ends up without a version number.
This is bad, since the version is required for graphical tooling.
What we can do is to take the highest version number from all
components that are defined in the plugin.
Change-Id: Idb4206201efac91250100740e287676031d3016a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
"Generator" is written in lower case in the existing strings.
Change-Id: Ibef67f3f8c4a0aa5a0fa04f68e6b10fb2251d3ef
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Looking up 'void' is known to cause hick ups.
Change-Id: I4c4b3bae5b5ac572404156edbd457003fbbf53f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Fix paths to options, because they have been moved to
separate tabs. Update and add screenshots.
Change-Id: Ibdffa8e32609a6614114372c5d38c4372f874eaf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Broke ConnectionClient compile which is using
isWindowsHost of utils.
Change-Id: I376efd5234a86de07764495af9a772b0810aaee7
Reviewed-by: Marco Bubke <marco.bubke@qt.io>