[cfe-dev] Almost there...

AlisdairM(public) public at alisdairm.net
Fri Jun 5 08:15:39 PDT 2009


> -----Original Message-----
> From: Douglas Gregor [mailto:dgregor at apple.com]
> Sent: 05 June 2009 15:46
> To: Sebastian Redl
> Cc: AlisdairM(public); cfe-dev at cs.uiuc.edu
> Subject: Re: [cfe-dev] Almost there...

> >> ...\clang\lib\CodeGen\CGBuiltin.cpp(271) : error C2039:
> >> 'BIalloca' : is not
> >> a member of 'clang::Builtin'
> >> ...\clang\lib\CodeGen\CGBuiltin.cpp(271) : error C2065: 'BIalloca' :
> >> undeclared identifier
> >> ...\clang\lib\CodeGen\CGBuiltin.cpp(271) : error C2051: case
> >> expression not
> >> constant
> >>
> >> ...\clang\lib\CodeGen\CGCall.cpp(1757) : error C2039: 'NoRedZone' :
> >> is not a
> >> member of 'llvm::Attribute'
> >> ...\clang\lib\CodeGen\CGCall.cpp(1757) : error C2065: 'NoRedZone' :
> >> undeclared identifier
> >>
> > Looks like you caught a broken in-between commit. Try simply updating
> > Clang again.
> > If that's not it, I'll have to look at it myself. Been a while since
> I
> > built Clang on Windows.
> 
> Actually, you'll need to update LLVM. They tend to be developed
> together (NoRedZone was added to both front end and back end in the
> same day), but you need separate "svn update" commands for the LLVM
> and Clang trees.

Thanks both.
The NoRedZone problem has cleared up with an LLVM update as Doug suggested.
The builtins::BIalloc issue remains, but it is a simple drop-through case
label in a switch statement, so I'm commenting it out for now and the rest
seems fine.  The name looks odd anyway - does not match the usual naming
pattern in use here.

Not sure why this isn't tripping everyone else up though - does not look
Windows specific to me.

To warm up I'm going to look into implementing C++0x raw string literals, as
I expect this to be a very localised change.  I think it will be easier to
do this before looking into the Unicode char types and updating the string
concatenation rules.

I expect most of this to fall inside the StringLiteralParser class, but
could someone point me to what starts the scanning for a string literal.
i.e. the code that recognised " or L" in order to invoke the string literal
parser?

Thanks muchly,
AlisdairM





More information about the cfe-dev mailing list