Review Request: Make C macro variadic argument optional
Alexandre Courbot
gnurou at gmail.com
Mon Jul 16 13:23:31 UTC 2012
> On June 20, 2012, 1:52 p.m., Alexandre Courbot wrote:
> > FYI 8 of the tests in testPreprocessor() were failing before this patch. The test added also fails because variadic arguments are not correctly expanded in the first place.
>
> Milian Wolff wrote:
> locally I don't have any failing tests - so please take a look at that again.
Milian, sorry for the late reply. Here is the result of testPreprocessor on today's master branch:
./parsertest testPreprocessor
********* Start testing of TestParser *********
Config: Using QTest library 4.8.2, Qt 4.8.2
QWARN : TestParser::initTestCase() WARNING: deleting stale lockfile /home/gnurou/.kde4/share/apps/kdevplatform/sessions//{e67c062e-a374-42c2-a842-fce5a902a3c2}/lock
QWARN : TestParser::initTestCase() WARNING: deleting stale lockfile /home/gnurou/.kdevduchain/{e67c062e-a374-42c2-a842-fce5a902a3c2}/0/lock
QDEBUG : TestParser::initTestCase() kdevplatform(32374)/kdevplatform (language) KDevelop::ItemRepositoryRegistry::open: version-hint not found, seems to be an old version
QDEBUG : TestParser::initTestCase() kdevplatform(32374)/kdevplatform (language) KDevelop::ItemRepositoryRegistry::open: "The data-repository at /home/gnurou/.kdevduchain/{e67c062e-a374-42c2-a842-fce5a902a3c2}/0 has to be cleared."
PASS : TestParser::initTestCase()
XFAIL : TestParser::testPreprocessor() Backslash incorrectly handled
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(509)]
XFAIL : TestParser::testPreprocessor() Backslash incorrectly handled
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(512)]
XFAIL : TestParser::testPreprocessor() Empty expansions incorrectly handled
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(515)]
XFAIL : TestParser::testPreprocessor() Variadic macros unsupported
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(518)]
XFAIL : TestParser::testPreprocessor() Variadic macros unsupported
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(521)]
XFAIL : TestParser::testPreprocessor() No problems reported for missmatching macro-parameter-lists
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(524)]
XFAIL : TestParser::testPreprocessor() No problems reported for missmatching macro-parameter-lists
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(527)]
XFAIL : TestParser::testPreprocessor() No problems reported for macro-redefinition
Loc: [/home/gnurou/Work/KDE/kdevelop/languages/cpp/parser/tests/test_parser.cpp(530)]
PASS : TestParser::testPreprocessor()
PASS : TestParser::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of TestParser *********
As you can see some errors are indeed triggered, even though no test is mentionned as failed in the end.
- Alexandre
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105307/#review14911
-----------------------------------------------------------
On June 20, 2012, 1:51 p.m., Alexandre Courbot wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/105307/
> -----------------------------------------------------------
>
> (Updated June 20, 2012, 1:51 p.m.)
>
>
> Review request for KDevelop.
>
>
> Description
> -------
>
> In GNU C, the variadic argument of a macro can be completely left out
> without triggering an error (as explained in
> http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html)
>
>
> Diffs
> -----
>
> languages/cpp/parser/rpp/pp-engine.cpp ca566cb
> languages/cpp/parser/tests/test_parser.cpp 804f379
>
> Diff: http://git.reviewboard.kde.org/r/105307/diff/
>
>
> Testing
> -------
>
> Checked that the faulty case was not triggering a parsing error anymore. Checked that no regression was introduced in the testPreprocessor() test case.
>
>
> Thanks,
>
> Alexandre Courbot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20120716/ef60394c/attachment.html>
More information about the KDevelop-devel
mailing list