This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/13626] New: gcc 4.7 doesn't compile sdt.h with -std=c++0x


http://sourceware.org/bugzilla/show_bug.cgi?id=13626

             Bug #: 13626
           Summary: gcc 4.7 doesn't compile sdt.h with -std=c++0x
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
        AssignedTo: systemtap@sourceware.org
        ReportedBy: mjw@redhat.com
    Classification: Unclassified


With gcc 4.7 prerelease, gcc (GCC) 4.7.0 20120123 (Red Hat 4.7.0-0.9) as found
in Fedora Rawhide, sdt.h doesn't compile with g++ -std=c++0x

FAIL: compiling sdt.c c++0x  uprobe
FAIL: compiling sdt.c c++0x -pedantic uprobe
FAIL: compiling sdt.c gnu++0x  uprobe
FAIL: compiling sdt.c gnu++0x -pedantic uprobe
FAIL: sdt_misc compiling types V3_uprobe c++0x 
FAIL: sdt_misc compiling types V3_uprobe c++0x -pedantic
FAIL: sdt_misc compiling types V3_uprobe gnu++0x 
FAIL: sdt_misc compiling types V3_uprobe gnu++0x -pedantic
FAIL: compiling sdt_va_args.c c++0x

Other -std settings work fine.

Error look like:

Executing on host: g++ /home/mark/src/systemtap/testsuite/systemtap.base/sdt.c 
-g -isystem/home/mark/src/systemtap/testsuite
-isystem/usr/local/install/systemtap/include -Wall -Wextra -Werror  -std=c++0x
-x c++   -lm   -o sdt.c.exe.7    (timeout = 300)
spawn -ignore SIGHUP g++
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c -g
-isystem/home/mark/src/systemtap/testsuite
-isystem/usr/local/install/systemtap/include -Wall -Wextra -Werror -std=c++0x
-x c++ -lm -o sdt.c.exe.7
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c: In function 'void
call0()':
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c:5:3: error: unable to
find string literal operator 'operator"" _SDT_S'
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c:5:1: error: unable to
find string literal operator 'operator"" _SDT_S'
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c: In function 'void
call1(int)':
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c:10:3: error: unable to
find string literal operator 'operator"" _SDT_S'
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c:10:1: error: unable to
find string literal operator 'operator"" _SDT_S'
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c: At global scope:
/home/mark/src/systemtap/testsuite/systemtap.base/sdt.c:8:13: error: unused
parameter 'a' [-Werror=unused-parameter]
[...]

I think this is a g++ bug since sdt.h contains:
# define _SDT_S(x)                      #x

Or is there a reason that doesn't work with c++0x?

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]