Martin Michlmayr
Tue, 17 Apr 2007 22:32:03 -0700
Package: systemtap
Version: 0.0.20070414-1
Usertags: ftbfs-gcc-4.3
Tags: patch
Your package fails to build with GCC 4.3. Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning. You're hitting a new warning
introduced in 4.3.
You can reproduce this problem with gcc-snapshot (20070326-1 or higher)
from unstable. (Currently not available for i386, but for amd64, powerpc
and ia64. I hope to have i386 binaries in the archive in ~2 weeks.)
> Automatic build of systemtap_0.0.20070414-1 on em64t by sbuild/amd64 0.53
...
> if x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -DBINDIR='"/usr/bin"'
> -DPKGDATADIR='"/usr/share/systemtap"' -DPKGLIBDIR='"/usr/lib/systemtap"'
> -DPERFMON -Wall -Wextra -Werror -Wall -g -D_GNU_SOURCE -O2 -MT stap-parse.o
> -MD -MP -MF ".deps/stap-parse.Tpo" -c -o stap-parse.o `test -f 'parse.cxx' ||
> echo './'`parse.cxx; \
> then mv -f ".deps/stap-parse.Tpo" ".deps/stap-parse.Po"; else rm -f
> ".deps/stap-parse.Tpo"; exit 1; fi
> cc1plus: warnings being treated as errors
> parse.cxx: In member function 'const token* parser::scan_pp(bool)':
> parse.cxx:309: error: suggest explicit braces to avoid ambiguous 'else'
> parse.cxx:334: error: suggest explicit braces to avoid ambiguous 'else'
> make[3]: *** [stap-parse.o] Error 1
> make[3]: Leaving directory `/build/tbm/systemtap-0.0.20070414/build-tree/src'
--- parse.cxx~ 2007-04-18 05:08:52.000000000 +0000
+++ parse.cxx 2007-04-18 05:09:48.000000000 +0000
@@ -306,11 +306,12 @@
while (true) // consume THEN tokens
{
m = scan_pp (result); // NB: recursive
- if (m == 0)
+ if (m == 0) {
if (have_token)
throw parse_error ("incomplete conditional - missing %: or %)",
t);
else
throw parse_error ("missing THEN tokens for conditional", t);
+ }
have_token = true;
if (m->type == tok_operator && (m->content == "%:" || // ELSE
@@ -331,11 +332,12 @@
while (true)
{
m = scan_pp (expand_args && !result); // NB: recursive
- if (m == 0)
+ if (m == 0) {
if (have_token)
throw parse_error ("incomplete conditional - missing %)", t);
else
throw parse_error ("missing ELSE tokens for conditional", t);
+ }
have_token = true;
if (m->type == tok_operator && m->content == "%)") // END
--
Martin Michlmayr
http://www.cyrius.com/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]