- Aug 05, 2014
-
-
Tobias Hunger authored
Change-Id: Id4527ab5582294791b8db0c7ce9240e031a38bd7 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jul 22, 2014
-
-
Erik Verbruggen authored
A case or a default statement must be followed by another statement. When a such a case (or default) statement is followed immediately by another case (or default) statement, then this would create a linked list, and the parser will recurse to parse such input. In order to prevent the parser running out of stack space while recursing, parse this corner case by blocking parsing a labeled statement as the first statement after a labeled statement. The advantage is that these statements do not form a linked list, so any subsequent visitation of the AST won't run out of stack space either. Change-Id: Id2111a49509132997f5fbe4bb12c92c729ec2522 Task-number: QTCREATORBUG-12673 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jul 04, 2014
-
-
Nikolai Kosjar authored
Change-Id: If6e6db7c4ca011159e78a27755ff9f665b179300 Reviewed-by:
Wang Hoi <wanghoi@126.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jun 24, 2014
-
-
Orgad Shaneh authored
Change-Id: I9bfed2023624c818c0f35f24476693cffeaf2bbc Reviewed-by:
Wang Hoi <wanghoi@126.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
Nikolai Kosjar authored
The introduction of C99 designators led to parsing problems with lambdas that were passed in as a function arguments. Fixed by prefering to parse without designators first. This will be cleaner/clearer once the appropriate "LanguageFeatures" from the Project Parts will be passed in. Change-Id: Ia9cb7c4a4c9345e729cf2044e1e5411fe63e33ec Reviewed-by:
Wang Hoi <wanghoi@126.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jun 17, 2014
-
-
Wang Hoi authored
In case: int a[6] = { [4] = 29, [2] = 15 }; struct point { int x, y; }; struct point p = { .y = 3, .x = 2 }; Grammar change when c99 language feature is enabled: old grammar: braced-init-list :: '{' initializer-list '}' new grammar: braced-init-list :: '{' designated-initializer-list '}' designated-initializer-list :: designated-initializer (',' designated-initializer )* designated-initializer :: designator* initializer-clause designator :: '.' identifier | '[' constant-expression ']' Task-number: QTCREATORBUG-1902 Change-Id: Ib99d6f553f8d0f50ba3eff86f3a2e86d73372426 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jun 16, 2014
-
-
Christian Kamm authored
The parser considers '{' an operator and thus thought "template-id {" couldn't possibly be valid. This patch adds '{' as an exception to the rule. Change-Id: I40730fcdc5cade48566b4c8b6fde390f455bbdba Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jun 12, 2014
-
-
Orgad Shaneh authored
Change-Id: I409699225b5f42db7ecb6c2dc8d150c1a66ee23c Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jun 06, 2014
-
-
Przemyslaw Gorszkowski authored
Task-number: QTCREATORBUG-12345 Change-Id: Ib2316ebdc81393b38185b9cb659fb85b78753e7b Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- Jun 04, 2014
-
-
Christian Kamm authored
In particular "auto foo() -> typename Foo<T>::X;" didn't parse. Change-Id: I7665c9b387e222e4107f053a529d502813ebf617 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Mar 13, 2014
-
-
Nikolai Kosjar authored
As the name function name suggests, true should be returned if the declaration should be processed. Otherwise false. Change-Id: I8d266d99c579b331fee8772bde47aa1a466dae9c Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jan 20, 2014
-
-
Povilas Kanapickas authored
CPlusPlus::Parser::parseAccessSpecifier() is not used anywhere throughout the QtCreator codebase. Change-Id: I062a4ae257b9c61f02bf85079feb6d48bd07c49e Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
Povilas Kanapickas authored
This is an obvious typo considering the checks at the beginning of the function. Change-Id: I11b784153b650b02bba7bb942ca1131447a3da4a Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Nov 26, 2013
-
-
Orgad Shaneh authored
Task-number: QTCREATORBUG-7679 Change-Id: I794f52b2bcfb6c78ceef86ec53b6ed32b3d53d9f Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Nov 12, 2013
-
-
Yuchen Deng authored
warning: C4005: 'va_copy' : macro redefinition Change-Id: Ib2bfd2229cb3ae00e084dd6df7a4558a5a766d55 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Oct 15, 2013
-
-
hjk authored
Change-Id: I4e2df6992b446adec662ab07671acd41715e41fd Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Oct 09, 2013
-
-
Nikolai Kosjar authored
MEMBER was added in Qt5. Task-number: QTCREATORBUG-10068 Change-Id: Ic6c15a0e5ee8981ab98e4c12fc1521dc281b731f Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Aug 21, 2013
-
-
Erik Verbruggen authored
Change-Id: I366733ec821ee264f182f4d4a3cf69cdada20cfc Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jul 19, 2013
-
-
Erik Verbruggen authored
No semantic analysis yet, but this prevents the parser from generating bogus diagnostics. Task-number: QTCREATORBUG-9309 Change-Id: I2ec575a8474cd51bfa97b17678d3da71ab8dcd7a Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jun 06, 2013
-
-
Erik Verbruggen authored
Task-number: QTCREATORBUG-9386 Change-Id: Ia68f3866c122ca5261dd73b2c740b47fb15744fc Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Apr 19, 2013
-
-
Przemyslaw Gorszkowski authored
Fix: * highlighting * find usages * follow symbol * code completion Task-number: QTCREATORBUG-6497 Task-number: QTCREATORBUG-8963 Task-number: QTCREATORBUG-3610 Task-number: QTCREATORBUG-7579 Change-Id: I3dcaf1c515d0199c3e6bee72284fbb40064686ee Reviewed-by:
Petar Perisin <petar.perisin@gmail.com> Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Apr 18, 2013
-
-
hjk authored
As indicated by profiling. Change-Id: I04d741dcc6200eb351d7aec316572e0e94ef5bec Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Apr 15, 2013
-
-
Nikolai Kosjar authored
Change-Id: Icd72f6358a5e90a292178b1d78f80d42da2ab846 Reviewed-by:
hjk <hjk121@nokiamail.com>
-
hjk authored
Change-Id: I59527ded34873286072be51c6a141dffcbf93406 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Apr 09, 2013
-
-
Sergey Shambir authored
C++ standard defines that 'try' should be before optional ctor initializer, so wrong order changed. Added documentation to parseTryBlockStatement and new test. Task-number: QTCREATORBUG-9064 Change-Id: Id19cdc53c034cb1232ae27e0bfe36d85b7ad0452 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Jan 16, 2013
-
-
Fawzi Mohamed authored
Change-Id: Id69343ee12690f2393f3d4e03cf2b40ebbaa8613 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- Jan 08, 2013
-
-
Francois Ferrand authored
When a constructor is defined with a single, unnamed argument of a custom type without extra type specifiers (const...), then the constructor was not identified as such. There was an heuristic in case the constructor was in the class definition, but not if the the constructor was defined later. Examples: class Arg; class Other; class Foo { Foo(Arg /*arg*/); // working Foo(const Arg /*arg*/); // working Foo(int /*arg*/); // working Foo(Other /*arg*/) {} // working }; Foo::Foo(Arg /*arg*/) {} // used not to work, fixed Foo::Foo(Arg arg){} // working Foo::Foo(const Arg /*arg*/) {} // working Foo::Foo(int arg) {} // working Change-Id: I741e4ba62672ddc99a837fdcdc27996fba5ae6c7 Reviewed-by:
hjk <qthjk@ovi.com>
-
Orgad Shaneh authored
#!/usr/bin/env ruby Dir.glob('**/*.cpp') { |file| # skip ast (excluding paste, astpath, and canv'ast'imer) next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i s = File.read(file) next if s.include?('qlalr') orig = s.dup s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m| res = $& if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces res else res.gsub!('} else', 'else') res.gsub!(/\n +} *\n/m, "\n") res.gsub(/ *{$/, '') end } s.gsub!(/ *$/, '') File.open(file, 'wb').write(s) if s != orig } Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc Reviewed-by:
hjk <qthjk@ovi.com>
-
- Nov 28, 2012
-
-
Orgad Shaneh authored
find -name \*.cpp -o -name \*.h | \ xargs sed -Ei 's/ (for|foreach|if|switch|while)\(/ \1 (/g' Change-Id: I9efdff4bf0c8c01a52baaaeb75198483c77b0390 Reviewed-by:
hjk <qthjk@ovi.com>
-
- Nov 07, 2012
-
-
Nikolai Kosjar authored
Done-with: Erik Verbruggen Task-number: QTCREATORBUG-7968 Task-number: QTCREATORBUG-7949 Change-Id: I0cf727052d0a3536ed96ee894b18768c9538c213 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- Oct 11, 2012
-
-
Erik Verbruggen authored
Change-Id: Ia7a0e4b416ba6ef768d76595d8576262a828ae78 Reviewed-by:
David Schulz <david.schulz@digia.com>
-
- Sep 28, 2012
-
-
Christian Kamm authored
Task-number: QTCREATORBUG-7921 Change-Id: Ia94c30886321e09028547a47f83d2a0c57f3980f Reviewed-by:
hjk <qthjk@ovi.com>
-
- Sep 25, 2012
-
-
Christian Kamm authored
Task-number: QTCREATORBUG-7919 Change-Id: I12307c3fb6c20424c8b5aaf564a031924c755d25 Reviewed-by:
hjk <qthjk@ovi.com>
-
- Sep 24, 2012
-
-
Christian Kamm authored
Change-Id: I7f843fa96e33671ecb135b9db6f68d9f2cbf2fac Reviewed-by:
hjk <qthjk@ovi.com>
-
- Sep 20, 2012
-
-
Christian Kamm authored
Empty lists would have a single null entry, instead of being null entirely. Change-Id: I5114cf1e0ecdbcde5631511ad03a8d559668ea80 Reviewed-by:
hjk <qthjk@ovi.com>
-
- Sep 19, 2012
-
-
Christian Kamm authored
This time in the 'new' expression. Changed it to make new C(1, abc...) and new C{1, abc} work. Change-Id: I7232798fd083b653ee04ef9ede386d6536133e16 Reviewed-by:
hjk <qthjk@ovi.com>
-
Christian Kamm authored
As a postfix expression. Change-Id: I65cae0571080a9fb699af61c661328ef06f97890 Reviewed-by:
hjk <qthjk@ovi.com>
-
Christian Kamm authored
This will fix a couple more places where brace-init-lists and pack expansions are allowed but are not currently accepted by the parser. For example: foo(abc...); now parses correctly. Change-Id: I93710cef35154fea8437329f3174e4a2d56637b8 Reviewed-by:
hjk <qthjk@ovi.com>
-
Christian Kamm authored
Change-Id: Iab707d855f98982697365f9a4cd7832877e64d17 Reviewed-by:
hjk <qthjk@ovi.com>
-
Christian Kamm authored
Change-Id: Ic99ca897e7a3b9c82cf8c5093a90bf9c88dbb0ed Reviewed-by:
hjk <qthjk@ovi.com>
-