dyung added a comment. In D128830#3751368 <https://reviews.llvm.org/D128830#3751368>, @dyung wrote:
> We also saw this assert on our Windows build, and it also can be reproduced > in Linux: > > $ cat test2.c > static char *getenv(char *) {} > void foo() { getenv(""); } > $ ~/src/upstream/879f5118fc74657e4a5c4eff6810098e1eed75ac-linux/bin/clang > -c -O3 test2.c > test2.c:1:27: warning: omitting the parameter name in a function definition > is a C2x extension [-Wc2x-extensions] > > > static char *getenv(char *) {} > > > > ^ > > > > test2.c:1:30: warning: non-void function does not return a value > [-Wreturn-type] > > > static char *getenv(char *) {} > > > > ^ > > clang: > /home/dyung/src/upstream/llvm_clean_git/llvm/lib/Analysis/CGSCCPassManager.cpp:958: > updateCGAndAnalysisManagerForPass(llvm::LazyCallGraph&, > llvm::LazyCallGraph::SCC&, llvm::LazyCallGraph::Node&, > llvm::CGSCCAnalysisManager&, llvm::CGSCCUpdateResult&, > llvm::FunctionAnalysisManager&, bool)::<lambda(llvm::Function&)>: Assertion > `RefereeN && "Visited function should already have an associated node"' > failed. > > The key seems to be the special function getenv(). If I rename the function, > the crash does not occur. Note that our internal builder found this while trying to build compiler-rt/lib/profile/InstrProfilingFile.c using the newly built compiler. If you think this might take a while to debug, could you please revert the change while you investigate? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128830/new/ https://reviews.llvm.org/D128830 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits