1
0
mirror of https://github.com/apple/foundationdb.git synced 2025-05-21 22:33:17 +08:00

50 Commits

Author SHA1 Message Date
tclinken
885a2e020e Generate rvalue reference overloads with actor compiler 2020-04-21 15:18:59 -07:00
Steve Atherton
022b77e288 Actor compiler will std::move() return expressions that exactly match a state variable. 2020-04-20 04:19:33 -07:00
Alex Miller
2e53c8c5e2
Merge pull request from tclinken/move-optimizations
Avoid unnecessary copies in PromiseStream
2020-04-13 21:15:16 -07:00
tclinken
3a01d24970 Pass const ref to a_callback_fire 2020-04-08 14:50:41 -07:00
Markus Pilman
d4542dbb5a Delete old build system 2020-04-07 11:03:45 -07:00
Andrew Noyes
36fd1ec0e4 Add sealed as a valid class-virt-specifier 2019-09-12 10:53:17 -07:00
Andrew Noyes
703e7fd944 Put generated code back in anonymous namespace where possible 2019-09-11 16:30:37 -07:00
Andrew Noyes
f983b3c786 Remove stale comment 2019-09-10 14:29:16 -07:00
Andrew Noyes
9d531db985 Handle nested classes 2019-09-10 13:25:58 -07:00
Andrew Noyes
c487f021f0 WIP - seems to work for 1 level of nesting 2019-09-10 13:09:37 -07:00
Andrew Noyes
eeb2da5c9d WIP - simple example compiles 2019-09-09 22:56:19 -07:00
Andrew Noyes
0a1fecfc2e Update flow/actorcompiler/ActorParser.cs
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-08-16 09:24:57 -07:00
Andrew Noyes
356abc2f9a Update flow/actorcompiler/ParseTree.cs
Co-Authored-By: A.J. Beamon <ajbeamon@users.noreply.github.com>
2019-08-16 09:24:57 -07:00
Andrew Noyes
ad9bc06dd7 Make unknown flow attributes an error 2019-08-16 09:24:57 -07:00
Andrew Noyes
5751e8a95b Remove flow_* attributes in actor compiler 2019-08-16 09:24:57 -07:00
Andrew Noyes
e4de4783bf Add [[flow_allow_discard]] 2019-08-16 09:24:57 -07:00
Andrew Noyes
971b857c51 Avoid using new c sharp features 2019-08-16 09:24:57 -07:00
Andrew Noyes
a8cdcff0c2 Change --disable-actor-without-wait-warning to --disable-diagnostics
We probably just want to disable all actor diagnostics for the flow test
files.

Also add --generate-probes to the help text
2019-08-16 09:24:57 -07:00
Andrew Noyes
4ebb325ff9 Make cancellable actors [[nodiscard]] by default 2019-08-16 09:24:57 -07:00
Andrew Noyes
be0e4e2438 Teach actorcompiler about C++ attributes 2019-08-16 09:24:57 -07:00
mpilman
058f21b0fc fixed merge conflicts 2019-07-30 18:36:10 -07:00
mpilman
aaef83e122 Added first parser functionality for sequences 2019-07-30 18:36:10 -07:00
mpilman
6b8b666ef6 Write object address in probes 2019-07-30 18:36:10 -07:00
mpilman
884628bc0a moved actor probes to function 2019-07-30 18:36:10 -07:00
mpilman
b7df7f3549 compatability with older cmake versions 2019-07-30 18:36:10 -07:00
mpilman
32d141ad3a Probes with strings 2019-07-30 18:36:10 -07:00
mpilman
9b96d8c166 a step further to uniqueness 2019-07-30 18:36:10 -07:00
mpilman
497c0aa456 fixed typo 2019-07-30 18:36:10 -07:00
mpilman
8eb06f7ab4 Only generate probes where it is supported 2019-07-30 18:36:10 -07:00
mpilman
13e101c441 Added d-trace probes for actors 2019-07-30 18:36:10 -07:00
A.J. Beamon
9272a41e5f
Merge pull request from atn34/fix-actor-warning
Fix actor warning for cmake build
2019-02-13 11:01:37 -08:00
Andrew Noyes
1ea58c1e5e Actually change name of flag 2019-02-13 10:44:58 -08:00
Andrew Noyes
3a38bff8ee Use DISABLE_ACTOR_WITHOUT_WAIT_WARNING consistently 2019-02-13 10:30:35 -08:00
Andrew Noyes
067a445e06 Replace unused _ variables with wait(success(...)) 2019-02-12 17:30:30 -08:00
Andrew Noyes
f257cca1bc Update Void _ = wait(...) occurrences 2019-02-12 17:30:30 -08:00
Andrew Noyes
df3454114e Add TODO 2019-02-12 11:03:08 -08:00
Andrew Noyes
8b0e593f83 Add --disable-actor-without-wait-error flag to actorcompiler 2019-02-12 11:01:17 -08:00
Andrew Noyes
d348846a10 Introduce ErrorMessagePolicy class
This encapsulates logic for how to report particular error messages.
So far only used for reporting an actor not containing a wait statement,
as this warning should be suppressed in certain contexts.

We could change other error messages to use this class, but since they
don't have any logic I don't think the extra indirection is appropriate.
2019-02-12 11:01:17 -08:00
Andrew Noyes
6051c8027b Allow osx tooling to understand c sharp
After this change I am able to load foundationdb.sln with vscode and get
features like jump to definition and autocomplete.
IntermediateOutputPath will now use a default value.
2019-02-12 11:00:24 -08:00
mpilman
fa6f43b1f3 Added missing 'static' for actor fwd declarations
There is a bug in the code that when an ACTOR forward
declaration is static, the static keyword doesn't get
generated in the forward declaration. This commit fixes
that.
2019-02-01 14:44:47 -08:00
mpilman
01730cc461 Allow forward declarations to be actors
If an actor is forward declared it is kind of
awkward as the signatures don't fit. For example:

Future<Void> foo(int const& bar);

is the correct forward declaration for this actor:

ACTOR Future<Void> foo(int bar);

This also means that a lot of tooling (like rtags/cquery etc)
doesn't work correctly. It will show errors that the function
calls are ambiguous and "find references"-features typically
don't work.

Allowing to do this in the actor compiler is the first step. The
next will be to refactor all forward declarations.
2019-01-29 10:57:54 -08:00
Evan Tschannen
3922e477a5 Merge branch 'release-6.0'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/ManagementAPI.actor.cpp
#	fdbserver/ClusterController.actor.cpp
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/LogSystemDiskQueueAdapter.actor.cpp
#	fdbserver/SimulatedCluster.actor.cpp
#	fdbserver/TLogServer.actor.cpp
2018-10-03 16:57:18 -07:00
A.J. Beamon
4773b788e9 Fix line endings 2018-09-10 09:44:47 -07:00
A.J. Beamon
e918ba7a4f Fix actor compiler warnings related to TEST_CASEs not having wait() statements and the DescrCompiler having unused variables. 2018-09-06 16:14:04 -07:00
Alex Miller
0b4c06169b Convert tabs to spaces in ActorParser 2018-08-14 15:50:26 -07:00
Alex Miller
63b1e85338 Ban Void _ = wait(...) constructions, and require just wait(...).
There's never any reason to save the value of a Void return, and it's
the easiest source of redefined variable bugs that will creep back in
over time.  So just `wait(...)`, it's cleaner that way.
2018-08-14 15:50:26 -07:00
Alex Miller
1901be1e63 Allow wait() instead of Void _ = wait(). 2018-08-14 15:49:47 -07:00
A.J. Beamon
6f941a89b4 Fix bug in actor compiler that would cause multi-line comments to be marked with the wrong line numbers. 2018-06-13 10:15:20 -07:00
Alec Grieser
0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
FDB Dev Team
a674cb4ef4 Initial repository commit 2017-05-25 13:48:44 -07:00