I
was wondering if I should try to add missing C99 features. But if I
understand you correctly, GNU extensions should also be supported, right?
Currently, I filtered out tests that are valid "gcc C/C++", but not valid
"ANSI C/C++". Should I also report (and try to fix) these as well (with
appropriate comments in the code)?
Subclassing parser is a very
good idea, but it seems that it might require significant
restructuring/redesign if we want to avoid massive code duplication, and as it
is, there are no plans for this activity in the near future (correct me if I'm
wrong).
/Vic
----- Original Message -----
Sent: Thursday, July 03, 2003 10:20
PM
Subject: Re: [cdt-dev] Torture tests (was
Re: Applied [HEAD]: Second attempt at [cdt-patch] Fix for PR 39501)
I inspected some of the failed tests as well and saw things that were
definitely not ANSI that gcc gobbles up. Our support of ANSI C99 hasn't
been as thorough as ANSI C++ but it should be.
I would say for the time being, our support is
limited to the latest ANSIs and also GNU, as its our preferred platform.
K&R is the only exception to this rule.
The problem with supporting too many variants in the
same parser is that performance suffers due to excessive backtracking and
investigating paths that never work, and the code becomes obfuscated. I
would hope that we could subclass parsers and then add more options to
ParserFactory.createParser() to allow for the client to choose the variant.
This may be something else that needs to be managed through the build
extension point with the
IScannerInfoProvider family of interfaces.
If you plan on putting anything in
the current parser to help it accept something that is GNU but non-ANSI,
please mark it with a comment so that way if we restructure things later we'll
know where to look.
JohnC
"Victor Mozgin"
<vic_mozgin@xxxxxxxxxxx> Sent by: cdt-dev-admin@xxxxxxxxxxx
07/03/2003 03:28 PM
Please respond
to cdt-dev@xxxxxxxxxxx |
|
To
| <cdt-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| [cdt-dev] Torture
tests (was Re: Applied [HEAD]: Second attempt at [cdt-patch] Fix
for PR 39501) |
|
That was the idea. I took some time to
analyze ~400 failures we had before, and added filters for the things that are
not relevant. Now all these ~100 failures are real problems that need to be
fixed. All of them are reported in bugzilla (you've probably seen ~25 new
parser/scanner PRs ;) ), except some template instantiation/specialization
cases I am not sure about. So after all these cases are resolved, the failure
count will be about zero. I am planning to add simplified tests for these PRs
into FailedTests, so it won't be necessary to run TortureTest all the
time. Now,
question: what C/C++ variants do we want to support in CDT? For instance,
there are K&R C, C89/C90, C94/C95, C9X/C99. C99 has several features that
CDT does not support yet... /Vic ----- Original Message ----- From:
John
Camelon To:
cdt-patch@xxxxxxxxxxx Sent: Thursday, July 03, 2003 8:51 PM Subject: Applied [HEAD]: Second attempt at [cdt-patch] Fix for
PR 39501
Thanks for the help
Victor. That fix gets us down to under 100 failures out of ~6900 tests
in TortureTest. I try and run TortureTest in quick parse mode on a regular basis
now, I look forward to when we can get the failure count down to zero so that
I can include it in my regression for validating parser patches.
JohnC
"Victor Mozgin"
<vic_mozgin@xxxxxxxxxxx> Sent by:
cdt-patch-admin@xxxxxxxxxxx
07/03/2003 01:23 PM
Please respond
to cdt-patch@xxxxxxxxxxx |
|
To
| <cdt-patch@xxxxxxxxxxx>
|
cc
|
|
Subject
| Re: Rejected:
[cdt-patch] Fix for PR 39501 |
|
That wasn't difficult (it wasn't used anyway). But are platform
requirements documented? Is it 1.3 that should be supported, or anything
earlier, or?.. /Vic
----- Original Message ----- From: John
Camelon To: cdt-patch@xxxxxxxxxxx Sent:
Thursday, July 03, 2003 5:31 PM Subject: Rejected: [cdt-patch] Fix
for PR 39501
I'm sorry Victor,
I cannot apply this patch. In the core.tests you use java.util.regexp
which is exclusively a Java 1.4 package.
As far as I know, we still have to
support Java 1.3.
Hopefully it won't be too hard for you to fix ...
JohnC
- Fixed PR 39501 :
Parser problems with throw clauses. - Improved filtering of expected
failures/inconclusives in TortureTest.
/Vic[attachment "core20030702.patch" deleted by John Camelon/Ottawa/IBM]
[attachment "core.tests20030702.patch" deleted by John Camelon/Ottawa/IBM]
|