ports/151327: Upgrade of clang 2.7 to 2.8 fails. Complete reinstall of both clang and llvm needed.

Pascal Stumpf Pascal.Stumpf at cubes.de
Sat Oct 9 00:10:02 UTC 2010


>Number:         151327
>Category:       ports
>Synopsis:       Upgrade of clang 2.7 to 2.8 fails. Complete reinstall of both clang and llvm needed.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 09 00:10:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Pascal Stumpf
>Release:        8-STABLE
>Organization:
>Environment:
>Description:
As the title says, Upgrading llvm and clang from 2.7 to 2.8 fails with following error:

llvm[2]: Compiling Lexer.cpp for Release build
Lexer.cpp: In static member function 'static unsigned int clang::Lexer::MeasureTokenLength(clang::SourceLocation, const clang::SourceManager&, const clang::LangOptions&)':
Lexer.cpp:235: error: no matching function for call to 'clang::SourceManager::getBufferData(clang::FileID&, bool*) const'
/usr/local/include/clang/Basic/SourceManager.h:443: note: candidates are: std::pair<const char*, const char*> clang::SourceManager::getBufferData(clang::FileID) const
Lexer.cpp: At global scope:
Lexer.cpp:254: error: no 'clang::SourceLocation clang::Lexer::GetBeginningOfToken(clang::SourceLocation, const clang::SourceManager&, const clang::LangOptions&)' member function declared in class 'clang::Lexer'
Lexer.cpp: In member function 'clang::SourceLocation clang::Lexer::GetBeginningOfToken(clang::SourceLocation, const clang::SourceManager&, const clang::LangOptions&)':
Lexer.cpp:257: error: no matching function for call to 'clang::SourceManager::getBufferData(clang::FileID&, bool*) const'
/usr/local/include/clang/Basic/SourceManager.h:443: note: candidates are: std::pair<const char*, const char*> clang::SourceManager::getBufferData(clang::FileID) const
Lexer.cpp: At global scope:
Lexer.cpp:315: error: no 'std::pair<unsigned int, bool> clang::Lexer::ComputePreamble(const llvm::MemoryBuffer*, unsigned int)' member function declared in class 'clang::Lexer'
Lexer.cpp:847: error: no 'void clang::Lexer::SkipBytes(unsigned int, bool)' member function declared in class 'clang::Lexer'
Lexer.cpp: In member function 'void clang::Lexer::LexStringLiteral(clang::Token&, const char*, bool)':
Lexer.cpp:981: error: 'class clang::Preprocessor' has no member named 'CodeCompleteNaturalLanguage'
Lexer.cpp: In member function 'void clang::Lexer::LexCharConstant(clang::Token&, const char*)':
Lexer.cpp:1060: error: 'class clang::Preprocessor' has no member named 'CodeCompleteNaturalLanguage'
Lexer.cpp: In member function 'bool clang::Lexer::SkipBCPLComment(clang::Token&, const char*)':
Lexer.cpp:1207: error: 'class clang::Preprocessor' has no member named 'CodeCompleteNaturalLanguage'
Lexer.cpp: In member function 'bool clang::Lexer::SaveBCPLComment(clang::Token&, const char*)':
Lexer.cpp:1262: error: no matching function for call to 'clang::Preprocessor::getSpelling(clang::Token&, bool*)'
/usr/local/include/clang/Lex/Preprocessor.h:550: note: candidates are: std::string clang::Preprocessor::getSpelling(const clang::Token&) const
/usr/local/include/clang/Lex/Preprocessor.h:559: note:                 static std::string clang::Preprocessor::getSpelling(const clang::Token&, const clang::SourceManager&, const clang::LangOptions&)
/usr/local/include/clang/Lex/Preprocessor.h:571: note:                 unsigned int clang::Preprocessor::getSpelling(const clang::Token&, const char*&) const
/usr/local/include/clang/Lex/Preprocessor.h:577: note:                 llvm::StringRef clang::Preprocessor::getSpelling(const clang::Token&, llvm::SmallVectorImpl<char>&) const
Lexer.cpp: In member function 'bool clang::Lexer::SkipBlockComment(clang::Token&, const char*)':
Lexer.cpp:1451: error: 'class clang::Preprocessor' has no member named 'CodeCompleteNaturalLanguage'
Lexer.cpp: In member function 'std::string clang::Lexer::ReadToEndOfLine()':
Lexer.cpp:1539: error: 'class clang::Preprocessor' has no member named 'getCodeCompletionHandler'
Lexer.cpp:1540: error: 'class clang::Preprocessor' has no member named 'getCodeCompletionHandler'
Lexer.cpp: In member function 'bool clang::Lexer::LexEndOfFile(clang::Token&, const char*)':
Lexer.cpp:1609: error: 'FixItHint' has not been declared
gmake[2]: *** [/usr/ports/devel/clang/work/llvm-2.8/tools/clang/lib/Lex/Release/Lexer.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory `/usr/ports/devel/clang/work/llvm-2.8/tools/clang/lib/Lex'
gmake[1]: *** [Lex/.makeall] Error 2
gmake[1]: Leaving directory `/usr/ports/devel/clang/work/llvm-2.8/tools/clang/lib'
gmake: *** [all] Error 1
*** Error code 1

Stop in /usr/ports/devel/clang.


Not a big issue, since a complete reinstall of llvm and clang 2.8 succeeds, but there should be a note in UPDATING imo.
>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list