Also on the LLVM waterfall: http://lab.llvm.org:8011/builders/clang-x64-windows-msvc http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/6937/steps/stage%201%20check/logs/stdio
(Same error.) *From: *Nico Weber <tha...@chromium.org> *Date: *Fri, May 17, 2019 at 1:14 PM *To: *Richard Smith *Cc: *cfe-commits -- 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