Commit Graph

2079 Commits

Author SHA1 Message Date
Robert Loehning
f9b8ae6a33 Squish: Moved and updated qtversion.xml
Change-Id: I2e15c2926c1079e21370663210e91fe144d8ef02
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-29 17:41:04 +02:00
Christian Kandeler
0ab8e0bbdf Debugger: Name demangler improvements.
- Correctly decode conversion operators and add test cases.
- Adapt to change in the specification regarding template parameter
packs.
- Make #ifdef'ed code compile.

Change-Id: Ifea1408d08172f9aeccd5e64a1e4818cd632a0d0
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-29 10:05:15 +02:00
hjk
bb31b2572f debugger: add manual test for pointer-to-derived case in QVector
Change-Id: I51db82d982351cdcf8ef64ba00521cb4d260bd45
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-28 15:25:54 +02:00
Robert Loehning
0db4c917f4 Squish: Fixed HELP06 for master
Change-Id: Ic2e4f49502764e8835341c0d712c6c418d7259a5
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-26 15:27:21 +02:00
Leandro Melo
d6ccffc06c C++: Core changes in preprocessing
Summary of most relevant items:

- Preprocessor output format change. No more gen true/false. Instead
  a more intuitive and natural expansion (like from a real compiler) is
  performed directly corresponding to the macro invocation. Notice that
  information about the generated tokens is not lost, because it's now
  embedded in the expansion section header (in terms of lines and columns
  as explained in the code). In addition the location on where the macro
  expansion happens is also documented for future use.

- Fix line control directives and associated token line numbers.
  This was not detected in tests cases because some of them were
  actually wrong: Within expansions the line information was being
  considered as originally computed in the macro definition, while
  the desired and expected for Creator's reporting mechanism (just
  like regular compilers) is the line from the expanded version
  of the tokens.

- Do not allow for eager expansion. This was previously being done
  inside define directives. However, it's not allowed and might
  lead to incorrect results, since the argument substitution should
  only happen upon the macro invocation (and following nested ones).
  At least GCC and clang are consistent with that. See test case
  tst_Preprocessor:dont_eagerly_expand for a detailed explanation.

- Revive the 'expanded' token flag. This is used to mark every token
  that originates from a macro expansion. Notice, however, that
  expanded tokens are not necessarily generated tokens (although
  every generated token is a expanded token). Expanded tokens that
  are not generated are those which are still considered by our
  code model features, since they are visible on the editor. The
  translation unit is smart enough to calculate line/column position
  for such tokens based on the information from the expansion section
  header.

- How expansions are tracked has also changed. Now, we simply add
  two surrounding marker tokens to each "top-level" expansion
  sequence. There is an enumeration that control expansion states.
  Also, no "previous" token is kept around.

- Preprocessor client methods suffered a change in signature so
  they now receive the line number of the action in question as
  a paramater. Previously such line could be retrieved by the client
  implementation by accessing the environment line. However, this
  is not reliable because we try to avoid synchronization of the
  output/environment lines in order to avoid unnecessary output,
  while expanding macros or handling preprocessor directives.

- Although macros are not expanded during define directives (as
  mentioned above) the preprocessor client is now "notified"
  when it sees a macro. This is to allow usage tracking.

- Other small stuff.

This is all in one patch because the fixes are a consequence
of the change in preprocessing control.

Change-Id: I8f4c6e6366f37756ec65d0a93b79f72a3ac4ed50
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-06-25 15:49:27 +02:00
Robert Loehning
1776cee64b Squish: Check for elements in project tree
Change-Id: I11a74d6d9703871b20f9c0a59bf613717e6553ef
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-25 10:00:50 +02:00
Eike Ziller
6e2db0b66e Merge remote-tracking branch 'origin/2.5' 2012-06-20 14:52:30 +02:00
Robert Loehning
79ca1f3d7c Squish: Fixed missing suffixes in getEditorForFileSuffix
Change-Id: Iabda661a70a7656003b47aaf91de28c213d076dc
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-20 12:41:03 +02:00
Jan Kerekes
f22449b94a Squish: Added new test cases(4, 5) to c support suite
initial commit

Change-Id: If2fb169ac66ccbcc463e4cfef491ca4fb3e01c30
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-06-19 17:32:39 +02:00
Leandro Melo
9daa34003d Revert "C++: Re-enable macro definition line test"
This reverts commit 44d8e7bef7.

The original test case was actually right. I guess I was mislead
by the recently added preprocessor tests, which are the ones
that should be corrected (together with the preprocessor, which
seems to have issues with # lineno generation).

Conflicts:

	tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp

Change-Id: I47f82ed23a37086d0d81c4b3ea2cac48fb753451
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Francois Ferrand <thetypz@gmail.com>
2012-06-19 12:47:52 +02:00
Leandro Melo
f978400ae5 C++: Better handling of arg count mismatch in macros
Do not expand function-like macros at all when there's a mismatch
in the parameter/argument count.

The report below raises the issue but its expected result is not
correct. This would be the more appropriate fix.

Task-number: QTCREATORBUG-7225
Change-Id: Ide8580faa7b724d3e8b396ec1f899cc5ca7f9e7e
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-19 12:47:44 +02:00
Christian Stenger
eeb7ecbb40 Squish: Fix for UI change
Additionally changed waiting for TargetSelector
from 20s to only 5s.

Change-Id: I2e342faa6f87b86335bb01f28832ad9c01a27ffb
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-06-18 20:13:58 +02:00
Christian Stenger
89aaa96031 Squish: Fix project.py
* add Desktop as available target in __chooseTargets__()
* do shadow builds for Desktop targets in openQmakeProject()

This patch makes https://codereview.qt-project.org/#change,28038
pass for me on Linux as well.

Change-Id: I3a4395a401198756e6a7d6a38c0b024167088dc3
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-06-18 19:49:46 +02:00
Robert Loehning
56c7facc68 Squish: Testing GLSLEditor in tst_select_all
Change-Id: Ib1d16d7cb7fe108b23c9eca70da6b6de2f9c563a
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-18 19:49:04 +02:00
hjk
f5fe20ef31 debugger: add a pointer to global data to manual test
Change-Id: I6ebb0058f5c1717c2dd4224107d25544005a3116
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-13 13:16:28 +02:00
hjk
c68cf6dcd9 debugger: add example code for multiple sub-breakpoints to test
Change-Id: Ifa12a6124d37a29a9e294ed14c8a7433c24cafa3
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-13 10:17:46 +02:00
Jan Kerekes
23c7665cc5 Squish: Added new test cases/suite for help functionality
initial commit

Change-Id: I20aae999dec164a29e40c2926e36c015526c17cd
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-06-12 19:00:24 +02:00
Leandro Melo
2af60cb1bf C++: Track macro argument reference even when empty
Change-Id: I6d226b4e42f94ebee41d012050c5109895f0c432
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-12 18:10:56 +02:00
Christian Stenger
d77d0ae504 Squish: Fix for UI change
Change-Id: Ida522c026c41c8cd5bd29b9cca3bb6b9334c84c4
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-06-12 09:35:09 +02:00
Eike Ziller
1ccde24c77 Merge remote-tracking branch 'origin/2.5' 2012-06-11 16:39:38 +02:00
Christian Kandeler
79de09f266 SSH: Streamline SshRemoteProcessRunner's output handling.
Make it just like SshRemoteProcess (and QProcess). The current
implementation annoyingly forces client code to establish additional
signal/slot connections, even if they only want to evaluate the output
at the end.

Change-Id: Id8c30dd156574d7d26d848d8e0705856a16d3747
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-08 10:15:43 +02:00
Christian Kandeler
303e67304e SSH: Name SshRemoteProcess::ExitStatus values like the QProcess ones.
(We cannot use QProcess::ExitStatus itself, because it does not contain
FailedToStart.)

Change-Id: I83ed6de621e2693e539562cd8e56ef478fa4fcb9
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-08 10:12:11 +02:00
Leandro Melo
d90264d6c2 C++: Also expand first token after macro define
It was previously beeing skipped.

Change-Id: Iadd9b03acbcf0ee0fb4db537b8597661cb93af3f
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-05 15:05:19 +02:00
Leandro Melo
809a4ed91a C++: Also parse static_assert as top-level declaration
Add some checks for C++11 flag as well.

Change-Id: Ic5ee81d72bc88a22e71b324ef01014791b833604
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-05 15:03:01 +02:00
Robert Loehning
5d01b60d56 Squish: Avoid warning about missing Harmattan target in APTW01
Change-Id: Ibeb0477a8283d229888c4744beecfc6bd8252f3c
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-05 11:01:00 +02:00
Robert Loehning
2dcec0cac4 Squish: Updated check for new, more detailed warning
Change-Id: I55b470db573aaca679df9cb1e89511b858683214
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-04 16:39:42 +02:00
Robert Loehning
046f42b282 Squish: Removed unused code and data
Change-Id: I20df2aa148002ecb9b1526df125daf04bc76010e
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-04 14:58:33 +02:00
Robert Loehning
0853fa077b Squish: Added tst_simple_debug to suite_debugger
Change-Id: I2b13562e774780b0ccb15decdd84f32a08e1f60a
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-04 13:14:33 +02:00
Leandro Melo
ca7ac8c035 C++: Fix macro uses line info
Make sure the environment line is consistent during preprocessor
directives and identifier handling so clients can rely on consistent
information. Particularly important for macro usages.

New tests also added.

Change-Id: I962a39a86cd17b8d945d2959c2c95e2d258ea3e6
Reviewed-by: hjk <qthjk@ovi.com>
2012-06-01 14:28:03 +02:00
Robert Loehning
356d5cab23 Squish: Removed unused object
Change-Id: Ic1122d693e14084fc076c34ece5e2e8d402321ed
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-01 14:15:01 +02:00
Eike Ziller
b7c34292f4 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	tests/system/objects.map

Change-Id: Ie6aed14f2f61111d26498ff3684ea4a57e6da59e
2012-06-01 14:06:24 +02:00
Robert Loehning
9499fef826 Squish: Removed unused objects
Change-Id: Icded1d58ff0b59e0f29add19e44d2ede7592a16e
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-06-01 13:54:55 +02:00
Leandro Melo
44d8e7bef7 C++: Re-enable macro definition line test
I believe those were actually incorrect, since the # mark
from the generated tokens `int f` should be relative to <stdin>
on the line they are defined, which is 1.

Change-Id: I663ef49ad75eb8bb0a4a4b18d4899a952011536c
Reviewed-by: Francois Ferrand <thetypz@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-31 18:02:08 +02:00
hjk
fa41d2faad debugger: add dumper for QHash::{const_}iterator
Change-Id: I05eaa1f3defdcb00102288737bd7686fa0281953
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-31 14:32:44 +02:00
Jan Kerekes
20afae749d Squish: Added new test cases/suite for project templates
initial commit

Change-Id: I0000bc8d3d0304ac37b135ea7b9c893b1054c958
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-05-31 13:22:37 +02:00
Robert Loehning
23fcc1a823 Squish: Small improvements
Hoping to fix some fails on Mac

Change-Id: I5e9f47f0714b14a6b87df342de74e7fd41fe94b0
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-31 11:14:27 +02:00
Robert Loehning
9e1de91d7d Squish: Update for changed Options dialog
Change-Id: I680ef0307837abae3edc813991acbed5fb31ccce
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-30 18:18:32 +02:00
Robert Loehning
254812a7b5 Squish: Removed system Qt
Change-Id: Ib9bbe99489c0de6be0c8571deb83c72bf76a2779
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-30 17:08:36 +02:00
hjk
6d04f3ce25 preprocessor: do not loop endlessly on incomplete expressions
An missing closing parantheses after "defined(..." caused an endless loop.

Change-Id: I19b17cebc1a56880216c3bfb67c9d296f80cc064
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-05-30 13:34:38 +02:00
Robert Loehning
9ac204bdfb Squish: Updated text of "Stop Debugger" button
Change-Id: Ie0ebd4812ee679ed2a8e1cdae2f9399ae19f2528
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-30 11:33:27 +02:00
hjk
d982b216ff debugger: rework dumping arrays of plain data
Simple array data can be fetched in one go.
The "normal" way gdb asks the server for contents is one item
at a time, at ~3ms per round trip. Now we get 2000 in 200ms.

This also introduces a re-usable readRawMemory function and
removes a few checkAccess calls which will be triggered anyways.

Change-Id: Ic07a3d6593fd2ea45f7a8058509118fe22a845bb
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-30 11:31:29 +02:00
Christian Kandeler
94ab29519b SSH: Use plain pointers to SshConnection objects.
It used to be shared pointers so that existing connection objects could
easily be passed around in order not to open a new connection to the same
server. Since the introduction of the SshConnectionManager, this
is no longer necessary.

Change-Id: I13fd3eceaf35d562e6260e9969abbffb01edd6b5
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-05-29 19:07:08 +02:00
Eike Ziller
b97dd0e7c8 Merge remote-tracking branch 'origin/2.5' 2012-05-25 13:21:25 +02:00
Robert Loehning
ea63b86e49 Squish: Replaced function moveTextCursor
Change-Id: Ie4cccd0de668690a3d66baf422bcfff7acae7345
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-25 13:11:17 +02:00
Robert Loehning
53fb9d4ae8 Squish: Simplified placeCursorToLine
Change-Id: Ib56bc7b2596ac61233e147fb62f763a594abe9df
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-23 17:16:19 +02:00
Christian Kandeler
53a1087d13 Move SSH support into a dedicated library.
It does not belong into libUtils, which is a collection of small
unrelated utility classes.

Task-number: QTCREATORBUG-7218
Change-Id: Id92b9f28678afec93e6f07166adfde6550f38072
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-05-22 10:51:53 +02:00
Robert Loehning
a71b768675 Squish: Added fatals when no Qt version was found
Change-Id: I1d1f4f378ef60107a488477bce40dacaabbe4109
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-21 17:12:39 +02:00
hjk
de2a88c0f3 debugger: take advantage of simple contents in array-like containers
Change-Id: I79e8fc7cf083d5c6c135cce5e0a42e41475a7b44
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-17 19:08:33 +02:00
Christian Stenger
525cf2353e Squish: Support more than one breakpoint per file
Change-Id: Ic33e039fe5aea9caed5a3e992a74938e331e2a4b
Reviewed-by: Robert Löhning <robert.loehning@nokia.com>
2012-05-16 18:31:13 +02:00
Robert Loehning
d14fdf2c4c Squish: Updated suite_QMLS for changed GUI.
Change-Id: Ie67def5b38126eea57f0f3d8e26b3f8844cdfb37
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-05-16 18:24:52 +02:00