Skip to Content.
Sympa Menu

svadev - Re: [svadev] [cfe-dev] [SafeCode] Unable to build the LLVM from trunk

svadev AT lists.siebelschool.illinois.edu

Subject: Svadev mailing list

List archive

Re: [svadev] [cfe-dev] [SafeCode] Unable to build the LLVM from trunk


Chronological Thread 
  • From: John Criswell <criswell AT illinois.edu>
  • To: Umesh Kalappa <umesh.kalappa0 AT gmail.com>
  • Cc: Matthieu Monrocq <matthieu.monrocq AT gmail.com>, svadev AT cs.uiuc.edu, cfe-dev AT cs.uiuc.edu, llvmdev <llvmdev AT cs.uiuc.edu>
  • Subject: Re: [svadev] [cfe-dev] [SafeCode] Unable to build the LLVM from trunk
  • Date: Tue, 15 May 2012 09:52:37 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
  • List-id: <svadev.cs.uiuc.edu>
  • Organization: University of Illinois

On 5/15/12 1:10 AM, Umesh Kalappa wrote: Thank you all for the responses,
John,
My Bad here you go 
          clang version 3.2 (trunk)
          Target: i386-pc-linux-gnu
          Thread model: posix

           [root@localhost opensrc]# cat /etc/centos-release
           CentOS release 6.2 (Final)
Matthieu,
Thanks for the fix and let me try again with latest trunk.

Again, SAFECode will not compile against LLVM mainline because we haven't been tracking changes in LLVM.  If you want to compile SAFECode, you need to compile it with LLVM 3.0.

The problem is that there is a C++ coding mistake in LLVM 3.0 that prevents newer, more pedantic versions of Clang from compiling it.  Newer versions of LLVM correct the mistake, but SAFECode does not work with these newer versions yet.

Unfortunately, your only option at this point is to compile LLVM 3.0, poolalloc, and SAFECode with GCC (or maybe an older version of clang; I can use clang version 3.0 on Mac OS X).

-- John T.



~Umesh



On Mon, May 14, 2012 at 10:34 PM, Matthieu Monrocq <matthieu.monrocq AT gmail.com> wrote:


On Mon, May 14, 2012 at 4:39 PM, John Criswell <criswell AT illinois.edu> wrote:
On 5/14/12 4:32 AM, Umesh Kalappa wrote:
Hi All ,

Was trying to build the LLVM src from http://llvm.org/svn/llvm-project/llvm/branches/release_30 ,But unable to build the same and clang poped up with below error .

First, it sounds like you're building LLVM 3.0, Poolalloc, and SAFECode with an unmodified version of clang.  Is this correct?  If so, which version of Clang are you using?

Second, what platform are you on?

-- John T.


llvm[1]: Compiling IntervalMap.cpp for Debug build
In file included from /root/projects/safecode/llvm/lib/Support/IntervalMap.cpp:14:
/root/projects/safecode/llvm/include/llvm/ADT/IntervalMap.h:1980:32: error: use 'template' keyword to treat 'newNode' as a dependent template name
    Node[NewNode] = this->map->newNode<NodeT>();
                               ^
                               template
1 error generated.
make[1]: *** [/root/projects/safecode/build/lib/Support/Debug/IntervalMap.o] Error 1


Any lights will be appreciated on the above issue . 

Thanks 
Umesh 



This an issue in the header itself, indeed the `template` keyword is necessary to disambiguate between a template method (the case here) and an attribute compared to some NodeT thing.

It has been fixed on trunk already (now at line 1991).

-- Matthieu





Archive powered by MHonArc 2.6.16.

Top of Page