-- Testing: 49966 tests, 32 threads -- Testing: 0 .. 10.. 20.. FAIL: Clang :: SemaCXX/builtin-object-size-cxx14.cpp (14324 of 49966) ******************** TEST 'Clang :: SemaCXX/builtin-object-size-cxx14.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; c:\b\s\w\ir\k\src\third_party\llvm-bootstrap\bin\clang.exe -cc1 -internal-isystem c:\b\s\w\ir\k\src\third_party\llvm-bootstrap\lib\clang\9.0.0\include -nostdsysteminc -fsyntax-only -verify -std=c++14 C:\b\s\w\ir\k\src\third_party\llvm\tools\clang\test\SemaCXX\builtin-object-size-cxx14.cpp -- Exit Code: 1
Command Output (stdout): -- $ ":" "RUN: at line 1" $ "c:\b\s\w\ir\k\src\third_party\llvm-bootstrap\bin\clang.exe" "-cc1" "-internal-isystem" "c:\b\s\w\ir\k\src\third_party\llvm-bootstrap\lib\clang\9.0.0\include" "-nostdsysteminc" "-fsyntax-only" "-verify" "-std=c++14" "C:\b\s\w\ir\k\src\third_party\llvm\tools\clang\test\SemaCXX\builtin-object-size-cxx14.cpp" # command stderr: error: 'warning' diagnostics seen but not expected: File C:\b\s\w\ir\k\src\third_party\llvm\tools\clang\test\SemaCXX\builtin-object-size-cxx14.cpp Line 105: implicit conversion from 'unsigned long long' to 'const long' changes value from 18446744073709551615 to -1 1 error generated. error: command failed with exit status: 1 https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8913196957157807760/+/steps/package_clang/0/stdout *From: *Nico Weber <tha...@chromium.org> *Date: *Fri, May 17, 2019 at 1:13 PM *To: *Richard Smith *Cc: *cfe-commits The test fails on Windows: > > > *From: *Richard Smith via cfe-commits <cfe-commits@lists.llvm.org> > *Date: *Fri, May 17, 2019 at 3:58 AM > *To: * <cfe-commits@lists.llvm.org> > > Author: rsmith >> Date: Fri May 17 01:01:34 2019 >> New Revision: 360998 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=360998&view=rev >> Log: >> Fix crash if, during evaluation of __builtin_object_size, we try to load >> through an invalid base. >> >> Modified: >> cfe/trunk/lib/AST/ExprConstant.cpp >> cfe/trunk/test/SemaCXX/builtin-object-size-cxx14.cpp >> >> Modified: cfe/trunk/lib/AST/ExprConstant.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=360998&r1=360997&r2=360998&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/AST/ExprConstant.cpp (original) >> +++ cfe/trunk/lib/AST/ExprConstant.cpp Fri May 17 01:01:34 2019 >> @@ -3285,6 +3285,11 @@ static bool AreElementsOfSameArray(QualT >> static CompleteObject findCompleteObject(EvalInfo &Info, const Expr *E, >> AccessKinds AK, const LValue >> &LVal, >> QualType LValType) { >> + if (LVal.InvalidBase) { >> + Info.FFDiag(E); >> + return CompleteObject(); >> + } >> + >> if (!LVal.Base) { >> Info.FFDiag(E, diag::note_constexpr_access_null) << AK; >> return CompleteObject(); >> >> Modified: cfe/trunk/test/SemaCXX/builtin-object-size-cxx14.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/builtin-object-size-cxx14.cpp?rev=360998&r1=360997&r2=360998&view=diff >> >> ============================================================================== >> --- cfe/trunk/test/SemaCXX/builtin-object-size-cxx14.cpp (original) >> +++ cfe/trunk/test/SemaCXX/builtin-object-size-cxx14.cpp Fri May 17 >> 01:01:34 2019 >> @@ -97,3 +97,10 @@ void tooSmallBuf() { >> copy5CharsIntoStrict(small.buf); // expected-error{{no matching >> function for call}} >> } >> } >> + >> +namespace InvalidBase { >> + // Ensure this doesn't crash. >> + struct S { const char *name; }; >> + S invalid_base(); >> + constexpr long bos_name = __builtin_object_size(invalid_base().name, >> 1); >> +} >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits