2
0
mirror of https://github.com/boostorg/spirit.git synced 2026-01-19 04:42:11 +00:00

32 Commits

Author SHA1 Message Date
joaquintides
787d181dff run test/support on C++20 2025-11-28 21:18:50 +01:00
Nana Sakisaka
d88f114559 Revert "Define the concept of "parser" in X3 (#807)"
This reverts commit d21af8b48d.
2025-09-13 08:57:11 +09:00
Nana Sakisaka
ec681a2484 Revert "Merge pull request #808 from saki7/refine-ci-cpp23"
This reverts commit f66350f9dc, reversing
changes made to d21af8b48d.
2025-09-13 08:57:11 +09:00
Nana Sakisaka
a0c9105839 Revert "Skip the "build" job for empty changes case"
This reverts commit af360dcb9b.
2025-09-13 08:57:09 +09:00
Nana Sakisaka
63fabece48 Revert "Use concepts for attribute category overload resolution (#812)"
This reverts commit c64a9146fc.
2025-09-13 08:57:06 +09:00
Nana Sakisaka
c64a9146fc Use concepts for attribute category overload resolution (#812)
* Use concepts for attribute category overload resolution

`x3::traits::move_to`: Dump tag dispatching and use concepts for
overload resolution. This drastically improves compilation speed and
prints significantly concise errors on ill-formed programs, thanks to
the reduced nesting level on the entire control flow of X3. Also
partially (but not yet completely) improves #346 due to reduced MPL usage.

`x3::detail::parse_into_container`: Ditto.

`support/traits/optional_traits.hpp`:
  `BOOST_SPIRIT_X3_USE_BOOST_OPTIONAL`: new macro.
  Default to `boost::optional` unless above macro is defined as `0`. Implements
  `std::optional` handling regardless of the value; fixes #270.
  Note that most test suites are intentionally not defining above macro as `1` 
  (yet) to make sure the change does not break existing codes.

`x3::optional`: Ideally this should've split into a separate PR, but the
new attribute category handling requires the overhaul on this.

`core/proxy.hpp`: Removed. `x3::optional` was the only derived parser
which used this feature for years. We shouldn't support any overly
generic 'core' features whose extandable use case is unknown even to the
core components.

`extract_int`, etc.: Adjusted to properly "move" the local attribute
variable before passing it to `x3::traits::move_to`.

`char_parser`: Ditto, but this constructs temporary value instead of
applying `std::as_const`. Const references are costly for primitive type
like `Char` thus prvalue should be constructed here.

tests: No semantic changes intended. All changes exists solely for
adapting to the new attribute category handling (implementation details.)

* Fix incorrect `noexcept` specification

* Compensate for potential GCC bug on constraint satisfaction

It turns out that GCC 14 does not like the form below, resulting
in silently defining the flipped value (!) without raising any sort of
hard/soft errors in well-formed code.

```
struct S : std::bool_constant<requires(...) { ... }> {};
```

* Use the correct path to retrieve action cache

<638ed79f9d/restore (ensuring-proper-restores-and-save-happen-across-the-actions)>
> It is very important to use the same key and path that were used by either actions/cache or actions/cache/save while saving the cache.
2025-09-07 04:55:57 +09:00
Nana Sakisaka
af360dcb9b Skip the "build" job for empty changes case 2025-09-05 13:25:49 +09:00
Nana Sakisaka
e332f16354 Don't cache .git in CI 2025-09-05 12:54:38 +09:00
Nana Sakisaka
c9b7954c44 Remove useless debug output in CI 2025-09-05 12:46:02 +09:00
Nana Sakisaka
ba985e0ca2 Fix "The syntax of the command is incorrect." 2025-09-05 12:34:21 +09:00
Nana Sakisaka
d7f5026f65 Add Windows support on GHA 2025-09-05 12:02:30 +09:00
Nana Sakisaka
efd9b3f637 Tweak job name 2025-09-05 09:03:51 +09:00
Nana Sakisaka
e5aad7844b Redesign workflow 2025-09-05 08:53:52 +09:00
Nana Sakisaka
d21af8b48d Define the concept of "parser" in X3 (#807)
* Define the concept of "parser" in X3

Also modernizes the entry points and the most fundamental "x3::parser"
base class.

Includes overhaul on `any_parser` as it operates on iterator/sentinal
now.

Deprecate `any_parser`. The reasoning is described in the comments.

* [X3] Bump C++ version to C++23

* Set correct compilers for C++23

* Avoid recursive instantiation on `unary_parser`

* Update Ubuntu 22.04 -> 24.04

* Specify correct flags for clang++/g++ detection

* Move deprecation warning of `any_parser` to its constructor
2025-09-05 00:59:29 +09:00
Nana Sakisaka
fbf145b124 Omit manpage generation 2025-05-09 16:07:37 +09:00
Nana Sakisaka
d2211c51d4 Make the job names shorter to make it more distinguishable 2025-05-09 15:54:30 +09:00
Nana Sakisaka
f082c4b198 Make -Werror off, as it can't handle upstream warnings properly
Specifically, container and math is emitting warnings that makes
spirit unmaintainable since all tests fail
2025-05-09 15:38:02 +09:00
Joel de Guzman
5d7aa47ac6 Bump compilers for X3 to Clang 18 and GCC 13 2024-08-12 14:37:01 +08:00
Joel de Guzman
4dc63a7699 Bump X3 STD to 17 2024-08-12 07:20:30 +08:00
Alexander Grund
1b9bc5666b Remove GHA C++03 jobs 2023-10-07 18:20:41 +02:00
Alexander Grund
ff9aa99bd9 Cancel old GHA jobs 2023-10-07 18:20:41 +02:00
Nikita Kniazev
5049c39ec5 CI: Update to Clang 14 2022-09-13 21:03:38 +03:00
Nikita Kniazev
1fd010384e CI: Upgrade from deprecated image 2022-09-13 21:03:38 +03:00
Nikita Kniazev
2069cd9763 CI: Update to Clang 13 2022-09-13 04:13:24 +03:00
Nikita Kniazev
9168be80dd X3: Warn about future C++17 requirement
I plan to keep the warning for two releases before starting to utilize C++17 features.

Since Boost 1.81 (scheduled to November 2022) supported compilers will be:
* Clang 4 (currently 3.6)
* GCC 7 (currently 5)
* VS 2017 (currently 2015)
2022-01-06 20:47:44 +03:00
Nikita Kniazev
551d4b6d79 Rework known warning suppression 2021-12-17 04:21:28 +03:00
Nikita Kniazev
bff0126954 CI: Re-enable -Wdeprecated-copy on Clang 2021-12-17 04:21:28 +03:00
Nikita Kniazev
28071ced0a CI: Enable -Wundefined-reinterpret-cast 2021-10-15 02:52:34 +03:00
Nikita Kniazev
eeb2f2052f CI: Install libunwind-dev package 2021-08-04 22:06:15 +03:00
Nikita Kniazev
c58a369ab8 CI: Upgrade Clang and GCC compilers 2021-06-03 19:10:49 +03:00
Nikita Kniazev
db8bdf3d71 Fix GCC -Wshadow-local and MSVC C4457
GCC bug reported https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100608

Fixes #676
2021-05-17 03:02:19 +03:00
sdarwin
5149160931 Add GitHub Actions config [ci skip] 2021-03-05 16:28:37 +00:00