Skip to content

Commit

Permalink
Update MSVC compiler to 17.13, bump build number, and re-run regressi…
Browse files Browse the repository at this point in the history
…on tests
  • Loading branch information
hsutter committed Mar 2, 2025
1 parent a7f8144 commit f543a1b
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 28 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,9 @@ buildh2.bat
gen_version.bat
mkdocs_serve.sh
experimental/a.out
cppfront/x64/Debug/microsoft/STL/std.compat.ixx.ifc.dt.d.json
cppfront/x64/Debug/microsoft/STL/std.compat.ixx.ifc.dt.module.json
cppfront/x64/Debug/microsoft/STL/std.compat.ixx.ifc.dt.module.json.command
cppfront/x64/Debug/microsoft/STL/std.ixx.ifc.dt.d.json
cppfront/x64/Debug/microsoft/STL/std.ixx.ifc.dt.module.json
cppfront/x64/Debug/microsoft/STL/std.ixx.ifc.dt.module.json.command
Original file line number Diff line number Diff line change
Expand Up @@ -77,59 +77,59 @@ pure2-expected-is-as.cpp2:34:24: error: use of undeclared identifier 'ex1'; did
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
^
In file included from pure2-expected-is-as.cpp:7:
../../../include/cpp2util.h:1770:72: error: invalid application of 'sizeof' to a function type
../../../include/cpp2util.h:469:72: error: invalid application of 'sizeof' to a function type
(std::is_floating_point_v<From> && std::is_floating_point_v<To> && sizeof(From) > sizeof(To)) || // NOLINT(misc-redundant-expression)
^~~~~~~~~~~~
../../../include/cpp2util.h:2891:19: note: in instantiation of variable template specialization 'cpp2::impl::is_narrowing_v' requested here
../../../include/cpp2util.h:2923:19: note: in instantiation of variable template specialization 'cpp2::impl::is_narrowing_v' requested here
if constexpr (is_narrowing_v<C, CPP2_TYPEOF(x)>) {
^
pure2-expected-is-as.cpp2:39:28: note: in instantiation of function template specialization 'cpp2::impl::as_<int, double (&)(double) noexcept>' requested here
auto val1 {cpp2::impl::as_<int>(ex1)};
^
In file included from pure2-expected-is-as.cpp:7:
../../../include/cpp2util.h:2911:12: error: no matching function for call to 'as'
../../../include/cpp2util.h:2943:12: error: no matching function for call to 'as'
return as<C>(CPP2_FORWARD(x));
^~~~~
pure2-expected-is-as.cpp2:39:28: note: in instantiation of function template specialization 'cpp2::impl::as_<int, double (&)(double) noexcept>' requested here
auto val1 {cpp2::impl::as_<int>(ex1)};
^
../../../include/cpp2util.h:1838:16: note: candidate template ignored: constraints not satisfied [with C = int, x:auto = double (&)(double) noexcept]
../../../include/cpp2util.h:1901:16: note: candidate template ignored: constraints not satisfied [with C = int, x:auto = double (&)(double) noexcept]
constexpr auto as(auto&& x CPP2_SOURCE_LOCATION_PARAM_WITH_DEFAULT_AS) -> decltype(auto)
^
../../../include/cpp2util.h:1844:18: note: because 'std::is_scalar_v<std::remove_cvref_t<decltype(x)> >' evaluated to false
../../../include/cpp2util.h:1907:18: note: because 'std::is_scalar_v<std::remove_cvref_t<decltype(x)> >' evaluated to false
(std::is_scalar_v<CPP2_TYPEOF(x)> && !std::is_enum_v<CPP2_TYPEOF(x)>)
^
../../../include/cpp2util.h:1845:17: note: and 'std::is_floating_point_v<std::remove_cvref_t<decltype(x)> >' evaluated to false
../../../include/cpp2util.h:1908:17: note: and 'std::is_floating_point_v<std::remove_cvref_t<decltype(x)> >' evaluated to false
|| std::is_floating_point_v<CPP2_TYPEOF(x)>
^
../../../include/cpp2util.h:1846:17: note: and 'std::is_base_of_v<int, std::remove_cvref_t<decltype(x)> >' evaluated to false
../../../include/cpp2util.h:1909:17: note: and 'std::is_base_of_v<int, std::remove_cvref_t<decltype(x)> >' evaluated to false
|| std::is_base_of_v<C, CPP2_TYPEOF(x)>
^
../../../include/cpp2util.h:1847:17: note: and 'std::is_base_of_v<std::remove_cvref_t<decltype(x)>, int>' evaluated to false
../../../include/cpp2util.h:1910:17: note: and 'std::is_base_of_v<std::remove_cvref_t<decltype(x)>, int>' evaluated to false
|| std::is_base_of_v<CPP2_TYPEOF(x), C>
^
../../../include/cpp2util.h:1848:30: note: and 'C({std::forward<decltype(x)>(x)})' would be invalid: cannot initialize a value of type 'int' with an lvalue of type 'double (double) noexcept'
../../../include/cpp2util.h:1911:30: note: and 'C({std::forward<decltype(x)>(x)})' would be invalid: cannot initialize a value of type 'int' with an lvalue of type 'double (double) noexcept'
|| requires { C{CPP2_FORWARD(x)}; }
^
../../../include/cpp2util.h:325:37: note: expanded from macro 'CPP2_FORWARD'
../../../include/cpp2util.h:327:37: note: expanded from macro 'CPP2_FORWARD'
#define CPP2_FORWARD(x) std::forward<decltype(x)>(x)
^
../../../include/cpp2util.h:1977:6: note: candidate template ignored: constraints not satisfied [with C = int, X = double (&)(double) noexcept]
../../../include/cpp2util.h:2040:6: note: candidate template ignored: constraints not satisfied [with C = int, X = double (&)(double) noexcept]
auto as(X&& x CPP2_SOURCE_LOCATION_PARAM_WITH_DEFAULT_AS) -> decltype(auto)
^
../../../include/cpp2util.h:1976:23: note: because 'specialization_of_template<double (&)(double) noexcept, std::variant>' evaluated to false
../../../include/cpp2util.h:2039:23: note: because 'specialization_of_template<double (&)(double) noexcept, std::variant>' evaluated to false
template< typename C, specialization_of_template<std::variant> X >
^
../../../include/cpp2util.h:724:7: note: because 'specialization_of_template_helper<C>(std::forward<X>(x))' would be invalid: no matching function for call to 'specialization_of_template_helper'
../../../include/cpp2util.h:891:7: note: because 'specialization_of_template_helper<C>(std::forward<X>(x))' would be invalid: no matching function for call to 'specialization_of_template_helper'
{ specialization_of_template_helper<C>(std::forward<X>(x)) } -> std::same_as<std::true_type>;
^
../../../include/cpp2util.h:2024:16: note: candidate template ignored: constraints not satisfied [with T = int, X = double (&)(double) noexcept]
../../../include/cpp2util.h:2087:16: note: candidate template ignored: constraints not satisfied [with T = int, X = double (&)(double) noexcept]
constexpr auto as( X && x ) -> decltype(auto) {
^
../../../include/cpp2util.h:2023:22: note: because 'same_type_as<double (&)(double) noexcept, std::any>' evaluated to false
../../../include/cpp2util.h:2086:22: note: because 'same_type_as<double (&)(double) noexcept, std::any>' evaluated to false
template<typename T, same_type_as<std::any> X>
^
../../../include/cpp2util.h:754:29: note: because 'std::same_as<std::remove_cvref_t<double (&)(double) noexcept>, std::remove_cvref_t<any> >' evaluated to false
../../../include/cpp2util.h:921:29: note: because 'std::same_as<std::remove_cvref_t<double (&)(double) noexcept>, std::remove_cvref_t<any> >' evaluated to false
concept same_type_as = std::same_as<std::remove_cvref_t<X>, std::remove_cvref_t<C>>;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/concepts:63:19: note: because '__detail::__same_as<double (double) noexcept, std::any>' evaluated to false
Expand All @@ -138,19 +138,19 @@ concept same_type_as = std::same_as<std::remove_cvref_t<X>, std::remove_cvref_t<
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/concepts:57:27: note: because 'std::is_same_v<double (double) noexcept, std::any>' evaluated to false
concept __same_as = std::is_same_v<_Tp, _Up>;
^
../../../include/cpp2util.h:2069:16: note: candidate template ignored: constraints not satisfied [with T = int, X = double (&)(double) noexcept]
../../../include/cpp2util.h:2130:16: note: candidate template ignored: constraints not satisfied [with T = int, X = double (&)(double) noexcept]
constexpr auto as( X&& x ) -> decltype(auto) {
^
../../../include/cpp2util.h:2068:22: note: because 'specialization_of_template<double (&)(double) noexcept, std::optional>' evaluated to false
../../../include/cpp2util.h:2129:22: note: because 'specialization_of_template<double (&)(double) noexcept, std::optional>' evaluated to false
template<typename T, specialization_of_template<std::optional> X>
^
../../../include/cpp2util.h:724:7: note: because 'specialization_of_template_helper<C>(std::forward<X>(x))' would be invalid: no matching function for call to 'specialization_of_template_helper'
../../../include/cpp2util.h:891:7: note: because 'specialization_of_template_helper<C>(std::forward<X>(x))' would be invalid: no matching function for call to 'specialization_of_template_helper'
{ specialization_of_template_helper<C>(std::forward<X>(x)) } -> std::same_as<std::true_type>;
^
../../../include/cpp2util.h:1813:16: note: candidate function template not viable: requires 0 arguments, but 1 was provided
../../../include/cpp2util.h:1876:16: note: candidate function template not viable: requires 0 arguments, but 1 was provided
constexpr auto as() -> auto
^
../../../include/cpp2util.h:1824:16: note: candidate function template not viable: requires 0 arguments, but 1 was provided
../../../include/cpp2util.h:1887:16: note: candidate function template not viable: requires 0 arguments, but 1 was provided
constexpr auto as() -> auto
^
pure2-expected-is-as.cpp2:39:37: error: use of undeclared identifier 'ex1'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ pure2-expected-is-as.cpp2:85:34: error: parse error in template argument list
pure2-expected-is-as.cpp2:85:159: error: parse error in template argument list
In file included from pure2-expected-is-as.cpp:7:
pure2-expected-is-as.cpp2:85:309: error: parse error in template argument list
../../../include/cpp2util.h:315:66: note: in definition of macro ‘CPP2_TYPEOF’
315 | #define CPP2_TYPEOF(x) std::remove_cvref_t<decltype(x)>
../../../include/cpp2util.h:317:66: note: in definition of macro ‘CPP2_TYPEOF’
317 | #define CPP2_TYPEOF(x) std::remove_cvref_t<decltype(x)>
| ^
pure2-expected-is-as.cpp2:85:430: error: parse error in template argument list
Original file line number Diff line number Diff line change
@@ -1 +1 @@
mixed-bounds-safety-with-assert.cpp2(11) void print_subrange(const auto:122&, cpp2::impl::in<int>, cpp2::impl::in<int>) [with auto:122 = std::vector<int>; cpp2::impl::in<int> = const int]: Bounds safety violation
mixed-bounds-safety-with-assert.cpp2(11) void print_subrange(const auto:123&, cpp2::impl::in<int>, cpp2::impl::in<int>) [with auto:123 = std::vector<int>; cpp2::impl::in<int> = const int]: Bounds safety violation
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33812 for x64
Microsoft (R) C/C++ Optimizing Compiler Version 19.43.34808 for x64
Copyright (C) Microsoft Corporation. All rights reserved.

2 changes: 1 addition & 1 deletion regression-tests/test-results/version
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

cppfront compiler v0.8.2 Build A228:1826
cppfront compiler v0.8.2 Build A301:1758
SPDX-License-Identifier Apache-2.0 WITH LLVM-exception
Copyright (c) 2022-2024 Herb Sutter
2 changes: 1 addition & 1 deletion source/build.info
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"A228:1826"
"A301:1758"
2 changes: 1 addition & 1 deletion source/reflect.h
Original file line number Diff line number Diff line change
Expand Up @@ -4396,7 +4396,7 @@ return ret;
false
);
CPP2_UFCS(report_violation)(cpp2::type_safety, CPP2_UFCS(c_str)(("can't convert string '" + cpp2::to_string(s) + "' to flag_enum of type expression_flags")));
return none;
return expression_flags::none;
}

[[nodiscard]] auto expression_flags::from_code(cpp2::impl::in<std::string_view> s) -> expression_flags{
Expand Down

0 comments on commit f543a1b

Please sign in to comment.