Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A perpetual PR for running regression tests #10

Open
wants to merge 296 commits into
base: hsutter-main-testing
Choose a base branch
from

Conversation

jarzec
Copy link
Owner

@jarzec jarzec commented Jan 17, 2024

This is a PR pulling hsutter/main into a local branch.
The goal is to never actually merge the PR, but to get notifications when regression tests fail on hsutter/main.

hsutter and others added 30 commits March 16, 2024 15:39
* Add UFCS failure case error diagnostics

* Restore UFCS SFINAE test to just _NONLOCAL versions

Per #1023 (comment) and followups
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
Signed-off-by: Herb Sutter <[email protected]>
…loses #999

And for now disable warning about no use of a named variable, as it fires in cases it shouldn't that still need to be fixed
…oses #1030

This means (move x) will be required on definite last use of a move-only local object x

The most changes were in one test file: the largest, pure2-last-use.cpp2, which uses move-only unique_ptr heavily and exercises last-use heavily. Updating it required writing (move x) in a bunch of plraces, but I also had to comment out some tests I didn't understand and didn't understand why they were now changed. We should review the commented-out test portions again to see if it's okay to remove them, or if they should be updated somehow
Examples, now diagnosed:

    x: int = x;

    x: int = f(x);

NOT diagnosed:

    x := :(x) f(x);
hsutter and others added 30 commits October 20, 2024 17:18
* Switch to Apache 2.0 with LLVM Exceptions

* Tweak formatting

* Update LICENSE

* Add new CLA
Seeing if this can make the known-error test cases less sensitive to future line number changes
* CI Update regression tests

* CI Include UFCS test compilation failures

* CI Revert UFCS test restore for further investigation

* CI update mixed-bugfix-for-ufcs-non-local.cpp2 results
For a local variable whose name starts with "guard" we do not automatically move from last use. This gives language meaning to a naming convention of "guard" as a name prefix for guard-like stack objects, such as local `std::scoped_lock` objects, whose destructors are always the object's real last use.
* Implement ability to compile directly from stdin

* Add doc comment to process_cpp2 function

* Move choice between file or stdin to source.load()

* Add a little comment above source loading decision

* Don't file-open `stdin`

* Fixed logic, and added default to stdout if stdin is used

Also:
- re-ran self-build and regression tests
- suppressed non-error output when stdout is used, so piping is easier

---------

Co-authored-by: Herb Sutter <[email protected]>
Usability: Don't make multi-argument constructors explicit
Note: This is the first metafunction that reflects and generates function bodies.

This type metafunction makes each of the type's functions print its name and signature, so the programmer can see what functions are being called.

This initial version ignores functions named `operator=` or with single-statement (or no) bodies.

In future commits I intend to add support for:

   - `operator=`, that inserts new statements only after the member object value-set statement

   - functions with single-statement or no bodies, that are first converted to compound-statement bodies
See comment "not using make_unique" in extrinsic_storage.h
I just started reading into cppfront so I might be wrong, but it seems to me that the template type of the vector is incorrect.

Signed-off-by: Adi Čaušević <[email protected]>
* Update hello-world.md for changes to terse function declarations

Add braces around the body so it is no longer a deduced return type.

Signed-off-by: Greg Marr <[email protected]>

* update short form of clean-cpp1 argument

Signed-off-by: Greg Marr <[email protected]>

---------

Signed-off-by: Greg Marr <[email protected]>
Looks like a Clang 12 update changed some diagnostics?
* fix compilation errors with exceptions disabled

* Add include for cerrno

And add an assertion for `end` being not null, which `strtol` guarantees but it's good to check it anyway - and that needs moving contracts earlier in the file

---------

Co-authored-by: josema <[email protected]>
Co-authored-by: Herb Sutter <[email protected]>
* Added handling of \G.

* Added find_all method to regular expressions.

* Implementation of reverse token generation.

* Implementation of lookbehind parsing.

* Hack for reverse matching.

* Removed Iter from wrapper and added it to the generated functions.

* Removed `wrap` helper.

* Implementation of advanced regexes.

* Added implementation for nested lookaround.

* Update for regex status.

* Added atomic grouping token.

* Code cleanup.

* Update of Regression tests.

* Header update for new version.

* Updates for clang.

* Update for tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.