Rename sem_*.cc to *.cc
This makes the .cc files match the header file name, which allows for
the text editor "header flip" feature to actually work. The reason these
files were named this way was because GN doesn't allow name conflicts in
the same source set, despite the files being in different directories.
This change splits the files into different source sets. To do so, we
use GN templates, which also reduces duplication in each target
definition.
Bug: tint:724
Change-Id: I9a7ed3912e4b85b2b38d360805203f3488b86c4c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/48160
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
diff --git a/src/BUILD.gn b/src/BUILD.gn
index 863faa4..76dcd28 100644
--- a/src/BUILD.gn
+++ b/src/BUILD.gn
@@ -221,7 +221,64 @@
# use the build flags to control what is included, instead of trying to specify
# the subsets that they want.
-source_set("libtint_core_src") {
+template("libtint_source_set") {
+ source_set(target_name) {
+ forward_variables_from(invoker, "*", [ "configs" ])
+
+ if (!defined(invoker.deps)) {
+ deps = []
+ }
+ deps += [
+ ":tint_core_enums_unified1",
+ ":tint_core_tables_unified1",
+ ":tint_language_header_cldebuginfo100",
+ ":tint_language_header_debuginfo",
+ "${tint_spirv_headers_dir}:spv_headers",
+ "${tint_spirv_tools_dir}:spvtools_headers",
+ ]
+
+ if (defined(invoker.configs)) {
+ configs += invoker.configs
+ }
+ configs += [ ":tint_common_config" ]
+ if (build_with_chromium) {
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ }
+
+ if (!defined(invoker.public_configs)) {
+ public_configs = []
+ }
+ public_configs += [ ":tint_public_config" ]
+ }
+}
+
+libtint_source_set("libtint_sem_src") {
+ sources = [
+ "sem/array.cc",
+ "sem/array.h",
+ "sem/call.cc",
+ "sem/call.h",
+ "sem/call_target.cc",
+ "sem/call_target.h",
+ "sem/expression.cc",
+ "sem/expression.h",
+ "sem/function.cc",
+ "sem/info.cc",
+ "sem/info.h",
+ "sem/intrinsic.cc",
+ "sem/intrinsic.h",
+ "sem/member_accessor_expression.cc",
+ "sem/node.cc",
+ "sem/node.h",
+ "sem/statement.cc",
+ "sem/struct.cc",
+ "sem/type_mappings.h",
+ "sem/variable.cc",
+ ]
+}
+
+libtint_source_set("libtint_core_all_src") {
sources = [
"ast/access_control.cc",
"ast/access_control.h",
@@ -373,26 +430,6 @@
"resolver/resolver.cc",
"resolver/resolver.h",
"scope_stack.h",
- "sem/array.h",
- "sem/call.h",
- "sem/call_target.h",
- "sem/expression.h",
- "sem/info.h",
- "sem/intrinsic.h",
- "sem/node.h",
- "sem/sem_array.cc",
- "sem/sem_call.cc",
- "sem/sem_call_target.cc",
- "sem/sem_expression.cc",
- "sem/sem_function.cc",
- "sem/sem_info.cc",
- "sem/sem_intrinsic.cc",
- "sem/sem_member_accessor_expression.cc",
- "sem/sem_node.cc",
- "sem/sem_statement.cc",
- "sem/sem_struct.cc",
- "sem/sem_variable.cc",
- "sem/type_mappings.h",
"source.cc",
"source.h",
"symbol.cc",
@@ -486,26 +523,16 @@
} else {
sources += [ "diagnostic/printer_other.cc" ]
}
-
- public_deps = [
- ":tint_core_enums_unified1",
- ":tint_core_tables_unified1",
- ":tint_language_header_cldebuginfo100",
- ":tint_language_header_debuginfo",
- "${tint_spirv_headers_dir}:spv_headers",
- "${tint_spirv_tools_dir}:spvtools_headers",
- ]
-
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
}
-source_set("libtint_spv_reader_src") {
+libtint_source_set("libtint_core_src") {
+ deps = [
+ ":libtint_core_all_src",
+ ":libtint_sem_src",
+ ]
+}
+
+libtint_source_set("libtint_spv_reader_src") {
sources = [
"reader/spirv/construct.cc",
"reader/spirv/construct.h",
@@ -525,28 +552,10 @@
"reader/spirv/usage.h",
]
- deps = [
- ":tint_core_enums_unified1",
- ":tint_core_tables_unified1",
- ":tint_language_header_cldebuginfo100",
- ":tint_language_header_debuginfo",
- "${tint_spirv_tools_dir}/:spvtools",
- "${tint_spirv_tools_dir}/:spvtools_opt",
- "${tint_spirv_tools_dir}/:spvtools_val",
- ]
-
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
-source_set("libtint_spv_writer_src") {
+libtint_source_set("libtint_spv_writer_src") {
sources = [
"transform/spirv.cc",
"transform/spirv.h",
@@ -565,18 +574,10 @@
"writer/spirv/scalar_constant.h",
]
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
-source_set("libtint_wgsl_reader_src") {
+libtint_source_set("libtint_wgsl_reader_src") {
sources = [
"reader/wgsl/lexer.cc",
"reader/wgsl/lexer.h",
@@ -589,18 +590,10 @@
"reader/wgsl/token.h",
]
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
-source_set("libtint_wgsl_writer_src") {
+libtint_source_set("libtint_wgsl_writer_src") {
sources = [
"writer/wgsl/generator.cc",
"writer/wgsl/generator.h",
@@ -608,18 +601,10 @@
"writer/wgsl/generator_impl.h",
]
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
-source_set("libtint_msl_writer_src") {
+libtint_source_set("libtint_msl_writer_src") {
sources = [
"transform/msl.cc",
"transform/msl.h",
@@ -629,18 +614,10 @@
"writer/msl/generator_impl.h",
]
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
-source_set("libtint_hlsl_writer_src") {
+libtint_source_set("libtint_hlsl_writer_src") {
sources = [
"transform/hlsl.cc",
"transform/hlsl.h",
@@ -650,14 +627,6 @@
"writer/hlsl/generator_impl.h",
]
- configs += [ ":tint_common_config" ]
- public_configs = [ ":tint_public_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
public_deps = [ ":libtint_core_src" ]
}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b6767a8..6dd5985 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -195,18 +195,18 @@
sem/info.h
sem/intrinsic.h
sem/node.h
- sem/sem_array.cc
- sem/sem_call.cc
- sem/sem_call_target.cc
- sem/sem_expression.cc
- sem/sem_member_accessor_expression.cc
- sem/sem_function.cc
- sem/sem_info.cc
- sem/sem_intrinsic.cc
- sem/sem_node.cc
- sem/sem_statement.cc
- sem/sem_struct.cc
- sem/sem_variable.cc
+ sem/array.cc
+ sem/call.cc
+ sem/call_target.cc
+ sem/expression.cc
+ sem/member_accessor_expression.cc
+ sem/function.cc
+ sem/info.cc
+ sem/intrinsic.cc
+ sem/node.cc
+ sem/statement.cc
+ sem/struct.cc
+ sem/variable.cc
sem/type_mappings.h
source.cc
source.h
@@ -496,7 +496,7 @@
resolver/type_validation_test.cc
resolver/validation_test.cc
scope_stack_test.cc
- sem/sem_intrinsic_test.cc
+ sem/intrinsic_test.cc
symbol_table_test.cc
symbol_test.cc
traits_test.cc
diff --git a/src/sem/sem_array.cc b/src/sem/array.cc
similarity index 100%
rename from src/sem/sem_array.cc
rename to src/sem/array.cc
diff --git a/src/sem/sem_call.cc b/src/sem/call.cc
similarity index 100%
rename from src/sem/sem_call.cc
rename to src/sem/call.cc
diff --git a/src/sem/sem_call_target.cc b/src/sem/call_target.cc
similarity index 100%
rename from src/sem/sem_call_target.cc
rename to src/sem/call_target.cc
diff --git a/src/sem/sem_expression.cc b/src/sem/expression.cc
similarity index 100%
rename from src/sem/sem_expression.cc
rename to src/sem/expression.cc
diff --git a/src/sem/sem_function.cc b/src/sem/function.cc
similarity index 100%
rename from src/sem/sem_function.cc
rename to src/sem/function.cc
diff --git a/src/sem/sem_info.cc b/src/sem/info.cc
similarity index 100%
rename from src/sem/sem_info.cc
rename to src/sem/info.cc
diff --git a/src/sem/sem_intrinsic.cc b/src/sem/intrinsic.cc
similarity index 100%
rename from src/sem/sem_intrinsic.cc
rename to src/sem/intrinsic.cc
diff --git a/src/sem/sem_intrinsic_test.cc b/src/sem/intrinsic_test.cc
similarity index 100%
rename from src/sem/sem_intrinsic_test.cc
rename to src/sem/intrinsic_test.cc
diff --git a/src/sem/sem_member_accessor_expression.cc b/src/sem/member_accessor_expression.cc
similarity index 98%
rename from src/sem/sem_member_accessor_expression.cc
rename to src/sem/member_accessor_expression.cc
index d030774..aa73c0d 100644
--- a/src/sem/sem_member_accessor_expression.cc
+++ b/src/sem/member_accessor_expression.cc
@@ -15,6 +15,8 @@
#include "src/ast/member_accessor_expression.h"
#include "src/sem/member_accessor_expression.h"
+#include <utility>
+
TINT_INSTANTIATE_TYPEINFO(tint::sem::MemberAccessorExpression);
TINT_INSTANTIATE_TYPEINFO(tint::sem::StructMemberAccess);
TINT_INSTANTIATE_TYPEINFO(tint::sem::Swizzle);
diff --git a/src/sem/sem_node.cc b/src/sem/node.cc
similarity index 100%
rename from src/sem/sem_node.cc
rename to src/sem/node.cc
diff --git a/src/sem/sem_statement.cc b/src/sem/statement.cc
similarity index 100%
rename from src/sem/sem_statement.cc
rename to src/sem/statement.cc
diff --git a/src/sem/sem_struct.cc b/src/sem/struct.cc
similarity index 98%
rename from src/sem/sem_struct.cc
rename to src/sem/struct.cc
index 3bd32f6..e4d0c3c 100644
--- a/src/sem/sem_struct.cc
+++ b/src/sem/struct.cc
@@ -12,8 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/ast/struct_member.h"
#include "src/sem/struct.h"
+#include "src/ast/struct_member.h"
+
+#include <utility>
TINT_INSTANTIATE_TYPEINFO(tint::sem::Struct);
TINT_INSTANTIATE_TYPEINFO(tint::sem::StructMember);
diff --git a/src/sem/struct.h b/src/sem/struct.h
index 695303d..8d3c93d 100644
--- a/src/sem/struct.h
+++ b/src/sem/struct.h
@@ -22,6 +22,7 @@
#include "src/ast/storage_class.h"
#include "src/sem/node.h"
+#include "src/symbol.h"
namespace tint {
diff --git a/src/sem/sem_variable.cc b/src/sem/variable.cc
similarity index 100%
rename from src/sem/sem_variable.cc
rename to src/sem/variable.cc
diff --git a/test/BUILD.gn b/test/BUILD.gn
index fc6afae..6845d77 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -107,7 +107,36 @@
]
}
-source_set("tint_unittests_core_src") {
+template("tint_unittests_source_set") {
+ source_set(target_name) {
+ forward_variables_from(invoker, "*", [ "configs" ])
+
+ if (defined(invoker.configs)) {
+ configs += invoker.configs
+ }
+ configs += [ ":tint_unittests_config" ]
+ if (build_with_chromium) {
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ }
+
+ testonly = true
+
+ if (!defined(invoker.deps)) {
+ deps = []
+ }
+ deps += [
+ ":gmock_and_gtest",
+ "${tint_root_dir}/src:libtint_core_src",
+ ]
+ }
+}
+
+tint_unittests_source_set("tint_unittests_core_sem_src") {
+ sources = [ "../src/sem/intrinsic_test.cc" ]
+}
+
+tint_unittests_source_set("tint_unittests_core_src") {
sources = [
"../src/ast/access_decoration_test.cc",
"../src/ast/array_accessor_expression_test.cc",
@@ -190,7 +219,6 @@
"../src/resolver/type_validation_test.cc",
"../src/resolver/validation_test.cc",
"../src/scope_stack_test.cc",
- "../src/sem/sem_intrinsic_test.cc",
"../src/symbol_table_test.cc",
"../src/symbol_test.cc",
"../src/traits_test.cc",
@@ -245,24 +273,14 @@
sources += [ "../src/utils/tmpfile_other.cc" ]
}
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
deps = [
- ":gmock_and_gtest",
- "${tint_root_dir}/src:libtint_core_src",
+ ":tint_unittests_core_sem_src",
"${tint_root_dir}/src:libtint_wgsl_reader_src",
"${tint_root_dir}/src:libtint_wgsl_writer_src",
]
}
-source_set("tint_unittests_spv_reader_src") {
+tint_unittests_source_set("tint_unittests_spv_reader_src") {
sources = [
"../src/reader/spirv/enum_converter_test.cc",
"../src/reader/spirv/fail_stream_test.cc",
@@ -296,23 +314,10 @@
"../src/reader/spirv/usage_test.cc",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_spv_reader_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_spv_reader_src" ]
}
-source_set("tint_unittests_spv_writer_src") {
+tint_unittests_source_set("tint_unittests_spv_writer_src") {
sources = [
"../src/transform/spirv_test.cc",
"../src/writer/spirv/binary_writer_test.cc",
@@ -349,23 +354,10 @@
"../src/writer/spirv/test_helper.h",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_spv_writer_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_spv_writer_src" ]
}
-source_set("tint_unittests_wgsl_reader_src") {
+tint_unittests_source_set("tint_unittests_wgsl_reader_src") {
sources = [
"../src/reader/wgsl/lexer_test.cc",
"../src/reader/wgsl/parser_impl_additive_expression_test.cc",
@@ -443,23 +435,10 @@
"../src/reader/wgsl/token_test.cc",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_wgsl_reader_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_wgsl_reader_src" ]
}
-source_set("tint_unittests_wgsl_writer_src") {
+tint_unittests_source_set("tint_unittests_wgsl_writer_src") {
sources = [
"../src/writer/wgsl/generator_impl_alias_type_test.cc",
"../src/writer/wgsl/generator_impl_array_accessor_test.cc",
@@ -492,23 +471,10 @@
"../src/writer/wgsl/test_helper.h",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_wgsl_writer_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_wgsl_writer_src" ]
}
-source_set("tint_unittests_msl_writer_src") {
+tint_unittests_source_set("tint_unittests_msl_writer_src") {
sources = [
"../src/transform/msl_test.cc",
"../src/writer/msl/generator_impl_alias_type_test.cc",
@@ -544,23 +510,10 @@
"../src/writer/msl/test_helper.h",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_msl_writer_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_msl_writer_src" ]
}
-source_set("tint_unittests_hlsl_writer_src") {
+tint_unittests_source_set("tint_unittests_hlsl_writer_src") {
sources = [
"../src/transform/hlsl_test.cc",
"../src/writer/hlsl/generator_impl_alias_type_test.cc",
@@ -598,20 +551,7 @@
"../src/writer/hlsl/test_helper.h",
]
- configs += [ ":tint_unittests_config" ]
-
- if (build_with_chromium) {
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- }
-
- testonly = true
-
- deps = [
- ":gmock_and_gtest",
- ":tint_unittests_core_src",
- "${tint_root_dir}/src:libtint_hlsl_writer_src",
- ]
+ deps = [ "${tint_root_dir}/src:libtint_hlsl_writer_src" ]
}
source_set("tint_unittests_src") {