[LLVMbugs] [Bug 7186] New: CLang (C++) fails build of Wt 3.1.3

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 21 03:22:12 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7186

           Summary: CLang (C++) fails build of Wt 3.1.3
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: koen at emweb.be
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


CLang fails compiling WCanvasPaintDevice.C, WSvgImage.C, and XSSFilter.C (which
compile fine with MSVC, gcc, and other compilers) of the latest release of Wt
(http://prdownloads.sourceforge.net/witty/wt-3.1.3.tar.gz?download).

You can also browse the source code of Wt online at:
http://www.webtoolkit.eu/wt/examples/gitmodel/gitview.wt

This is the error for WCanvasPaintDevice.C (it seems like WSvgImage.C suffers
exactly the same problem):

clang: CGExprAgg.cpp:766: void
clang::CodeGen::CodeGenFunction::EmitAggregateCopy(llvm::Value*, llvm::Value*,
clang::QualType, bool): Assertion `(Record->hasTrivialCopyConstructor() ||
Record->hasTrivialCopyAssignment()) && "Trying to aggregate-copy a type without
a trivial copy " "constructor or assignment operator"' failed.
0  clang           0x00000000014e4872
1  clang           0x00000000014e4749
2  libpthread.so.0 0x00002b23b0b0d190
3  libc.so.6       0x00002b23b16fd4b5 gsignal + 53
4  libc.so.6       0x00002b23b1700f50 abort + 384
5  libc.so.6       0x00002b23b16f6481 __assert_fail + 241
6  clang           0x00000000005ea7b4
7  clang           0x00000000005e7802
8  clang           0x00000000005e7898
9  clang           0x00000000005e764e
10 clang           0x00000000005e742f
11 clang           0x00000000005eb6a3
12 clang           0x00000000005ea575
13 clang           0x00000000005d6d5b
14 clang           0x00000000005d6e73
15 clang           0x00000000005b2dc8
16 clang           0x0000000000669fb1
17 clang           0x000000000066a978
18 clang           0x000000000066aaeb
19 clang           0x000000000057bf1f
20 clang           0x000000000057bd34
21 clang           0x00000000005806ad
22 clang           0x000000000058049e
23 clang           0x0000000000580712
24 clang           0x000000000057856d
25 clang           0x0000000000422ea0
26 clang           0x00000000006a4c22
27 clang           0x000000000043e790
28 clang           0x000000000043e3fb
29 clang           0x0000000000429393
30 clang           0x000000000040931e
31 clang           0x0000000000411f4c main + 357
32 libc.so.6       0x00002b23b16e8abd __libc_start_main + 253
33 clang           0x0000000000407cb9
Stack dump:
0.    Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name WCanvasPaintDevice.C
-pic-level 2 -mdisable-fp-elim -mconstructor-aliases -munwind-tables
-target-cpu x86-64 -g -resource-dir /usr/local/lib/clang/2.0 -Dwt_EXPORTS
-DWT_WITH_OLD_INTERNALPATH_API -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB
-DWT_THREADED -D_REENTRANT -DBOOST_SPIRIT_THREADSAFE -DQT_NO_DEBUG
-I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore
-I/opt/software/boost-trunk-clang/include
-I/home/koen/project/wt/git/wt/build-clang
-I/home/koen/project/wt/git/wt/src/web -I/home/koen/project/wt/git/wt/src
-I/home/koen/project/wt/git/wt/build-clang/src
-I/home/koen/project/wt/git/wt/src/Wt/Dbo/backend/amalgamation -O2
-ferror-limit 19 -fmessage-length 224 -fexceptions -fgnu-runtime
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-w1xvdT.s -x c++
/home/koen/project/wt/git/wt/src/Wt/WCanvasPaintDevice.C 
1.    <eof> parser at end of file
2.    /home/koen/project/wt/git/wt/src/Wt/WCanvasPaintDevice.C:23:11: LLVM IR
generation of declaration 'Wt'
3.    /home/koen/project/wt/git/wt/src/Wt/WCanvasPaintDevice.C:83:26:
Generating code for declaration 'Wt::WCanvasPaintDevice::setPaintFlags'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)

XSSFilter.C fails because of a compile error, which I do not think is valid
(you should be able to use methods in inline implementations which are declared
further down the class definition ?). In this case, print_children() is
declared also in print_node, but below the invocation from an inline method. 

In file included from /home/koen/project/wt/git/wt/src/web/XSSFilter.C:19:
/home/koen/project/wt/git/wt/src/rapidxml/rapidxml_print.hpp:115:23: error: use
of undeclared identifier 'print_children'
                out = print_children(out, node, flags, indent);
                      ^
/home/koen/project/wt/git/wt/src/rapidxml/rapidxml_print.hpp:390:16: note: in
instantiation of function template specialization
'rapidxml::internal::print_node<Wt::SStream::iterator, char>' requested here
        return internal::print_node(out, &node, flags, 0);
               ^
/home/koen/project/wt/git/wt/src/web/XSSFilter.C:81:5: note: in instantiation
of function template specialization 'rapidxml::print<Wt::SStream::iterator,
char>' requested here
    print(out.back_inserter(), *doc.first_node(), print_no_indenting);
    ^
1 error generated.
make[2]: *** [src/CMakeFiles/wt.dir/web/XSSFilter.o] Error 1

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list