================
@@ -1722,10 +1722,12 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
// MSVC, ICC, GCC, VisualAge C++ extension. The generated string should be
// of the form "Ddd Mmm dd hh::mm::ss yyyy", which is returned by asctime.
const char *Result;
+ char TimeString[std::size("Ddd Mmm dd hh:mm:ss yyyy")];
if (getPreprocessorOpts().SourceDateEpoch) {
time_t TT = *getPreprocessorOpts().SourceDateEpoch;
std::tm *TM = std::gmtime(&TT);
- Result = asctime(TM);
+ strftime(TimeString, std::size(TimeString), "%c", TM);
----------------
shafik wrote:
I believe we need to check the result of `strftime` is not `0` which would
indicate that it ran out of space and we need to recover.
https://github.com/llvm/llvm-project/pull/99075
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits