Skip to content

no warnings #82

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

Merged
merged 2 commits into from
Feb 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,7 @@ build:windows --platforms=//bazel/platforms:windows
build:linux --platforms=//bazel/platforms:linux
build:linux --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux

build:no-warnings --per_file_copt=//.*@-Werror

common:ci --announce_rc
common:ci --disk_cache=~/.cache/bazel-disk-cache
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
~/.cache/bazel-disk-cache
key: ${{runner.os}}-bazel-cache
- uses: actions/checkout@v3
- run: bazel build --config=ci //...
- run: bazel build --config=ci --config=no-warnings //...
test-linux:
runs-on: ubuntu-latest
needs: build-linux
Expand All @@ -62,4 +62,4 @@ jobs:
~/.cache/bazel-disk-cache
key: ${{runner.os}}-bazel-cache
- uses: actions/checkout@v3
- run: bazel test --config=ci //...
- run: bazel test --config=ci --config=no-warnings //...
51 changes: 51 additions & 0 deletions ecsact/detail/grammar.hh
Original file line number Diff line number Diff line change
Expand Up @@ -819,4 +819,55 @@ using system_with_entity_level_statement = statement<
system_component_statement,
with_statement>;

constexpr char package_level_statement_name[] = "package level statement";
constexpr char package_level_statement_expected_message[] =
"package level statements are not allowed";
using package_level_statement = statement<
package_level_statement_name,
package_level_statement_expected_message,
none_statement>;

constexpr char import_level_statement_name[] = "import level statement";
constexpr char import_level_statement_expected_message[] =
"import level statements are not allowed";
using import_level_statement = statement<
import_level_statement_name,
import_level_statement_expected_message,
none_statement>;

constexpr char enum_value_level_statement_name[] = "enum value level statement";
constexpr char enum_value_level_statement_expected_message[] =
"enum value level statements are not allowed";
using enum_value_level_statement = statement<
enum_value_level_statement_name,
enum_value_level_statement_expected_message,
none_statement>;

constexpr char builtin_type_field_level_statement_name[] =
"builtin type field level statement";
constexpr char builtin_type_field_level_statement_expected_message[] =
"builtin type field level statements are not allowed";
using builtin_type_field_level_statement = statement<
builtin_type_field_level_statement_name,
builtin_type_field_level_statement_expected_message,
none_statement>;

constexpr char user_type_field_level_statement_name[] =
"user type field level statement";
constexpr char user_type_field_level_statement_expected_message[] =
"user type field level statements are not allowed";
using user_type_field_level_statement = statement<
user_type_field_level_statement_name,
user_type_field_level_statement_expected_message,
none_statement>;

constexpr char entity_constraint_level_statement_name[] =
"entity constraint level statement";
constexpr char entity_constraint_level_statement_expected_message[] =
"entity constraint level statements are not allowed";
using entity_constraint_level_statement = statement<
entity_constraint_level_statement_name,
entity_constraint_level_statement_expected_message,
none_statement>;

} // namespace ecsact::parse::detail::grammar
13 changes: 13 additions & 0 deletions ecsact/ecsact_parse_statement.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,19 @@ static auto context_grammar(ecsact_statement_type context_type, Fn&& fn) {
return fn(grammar::system_component_level_statement{});
case ECSACT_STATEMENT_SYSTEM_WITH_ENTITY:
return fn(grammar::system_with_entity_level_statement{});
case ECSACT_STATEMENT_PACKAGE:
return fn(grammar::package_level_statement{});
case ECSACT_STATEMENT_IMPORT:
return fn(grammar::import_level_statement{});
case ECSACT_STATEMENT_ENUM_VALUE:
return fn(grammar::enum_value_level_statement{});
case ECSACT_STATEMENT_BUILTIN_TYPE_FIELD:
return fn(grammar::builtin_type_field_level_statement{});
case ECSACT_STATEMENT_USER_TYPE_FIELD:
return fn(grammar::user_type_field_level_statement{});
case ECSACT_STATEMENT_ENTITY_CONSTRAINT:
return fn(grammar::entity_constraint_level_statement{});
break;
}

assert(false && "unhandled context grammar");
Expand Down