<div>It appears that strcat is a builtin in Microsoft mode, so this patch avoids a conflict error, plus a seemingly spurious error on extract_return_addr, since it goes away with this chang.  Shall I check it in?:</div>
<div><br clear="all">FAIL: Clang::CodeGen/builtins.c (1 of 1)<br>******************** TEST 'Clang::CodeGen/builtins.c' FAILED ********************<br>Script:<br>--<br>C:/Tools/llvm/bin/Debug/clang-cc.exe -emit-llvm -o C:\Tools\llvm\tools\clang\test\CodeGen\Output\builtins.c.tmp C:\Tools\llvm\tools\clang\te<br>
st\CodeGen\builtins.c<br>not grep __builtin C:\Tools\llvm\tools\clang\test\CodeGen\Output\builtins.c.tmp<br>--<br>Exit Code: 3<br>Command Output (stdout):<br>--<br>Command 0: "C:/Tools/llvm/bin/Debug/clang-cc.exe" "-emit-llvm" "-o" "C:\Tools\llvm\tools\clang\test\CodeGen\Output\builtins.c.tmp" "C:\Tools<br>
\llvm\tools\clang\test\CodeGen\builtins.c"<br>Command 0 Result: 3<br>Command 0 Output:</div>
<div><br>Command 0 Stderr:<br>C:\Tools\llvm\tools\clang\test\CodeGen\builtins.c:113:3: warning: incompatible pointer to integer conversion passing 'void *', expected 'int<br>'<br>  P(extract_return_addr, (&N));<br>
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><scratch space>:273:1: note: instantiated from:<br>__builtin_extract_return_addr<br>^<br>C:\Tools\llvm\tools\clang\test\CodeGen\builtins.c:119:6: warning: incompatible redeclaration of library function 'strcat'<br>
void strcat() {}<br>     ^<br>C:\Tools\llvm\tools\clang\test\CodeGen\builtins.c:119:6: note: 'strcat' is a builtin with type 'char *(char *, char const *)'<br>Assertion failed: New->getType() == getType() && "replaceAllUses of value with new value of different type!", file .\Value.cpp, line 336<br>
CRT error:<br>This application has requested the Runtime to terminate it in an unusual way.<br>Please contact the application's support team for more information.</div>
<div> </div>
<div></div><br>-- <br>John Thompson<br><a href="mailto:John.Thompson.JTSoftware@gmail.com">John.Thompson.JTSoftware@gmail.com</a><br><br>