blob: f03f15546ca9d1f146d0069a51e7bda645ed2e23 [file] [log] [blame]
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/fuzzing/fuzzer.gni")
static_library("expr") {
sources = [
"abi.h",
"abi_arm64.cc",
"abi_arm64.h",
"abi_null.h",
"abi_x64.cc",
"abi_x64.h",
"bitfield.cc",
"bitfield.h",
"builtin_types.cc",
"builtin_types.h",
"cast.cc",
"cast.h",
"eval_callback.h",
"eval_context.h",
"eval_context_impl.cc",
"eval_context_impl.h",
"eval_dwarf_expr.cc",
"eval_dwarf_expr.h",
"eval_operators.cc",
"eval_operators.h",
"expr.cc",
"expr.h",
"expr_language.cc",
"expr_language.h",
"expr_node.cc",
"expr_node.h",
"expr_parser.cc",
"expr_parser.h",
"expr_token.h",
"expr_token_type.cc",
"expr_token_type.h",
"expr_tokenizer.cc",
"expr_tokenizer.h",
"expr_value.cc",
"expr_value.h",
"expr_value_source.cc",
"expr_value_source.h",
"find_name.cc",
"find_name.h",
"format.cc",
"format.h",
"format_node.cc",
"format_node.h",
"format_options.h",
"found_member.cc",
"found_member.h",
"found_name.cc",
"found_name.h",
"identifier_glob.cc",
"identifier_glob.h",
"index_walker.cc",
"index_walker.h",
"keywords.cc",
"keywords.h",
"number_parser.cc",
"number_parser.h",
"operator_keyword.cc",
"operator_keyword.h",
"parse_special_identifier.cc",
"parse_special_identifier.h",
"parse_string.cc",
"parse_string.h",
"parsed_identifier.cc",
"parsed_identifier.h",
"permissive_input_location.cc",
"permissive_input_location.h",
"pretty_rust_tuple.cc",
"pretty_rust_tuple.h",
"pretty_std_string.cc",
"pretty_std_string.h",
"pretty_tree.cc",
"pretty_tree.h",
"pretty_type.cc",
"pretty_type.h",
"pretty_type_manager.cc",
"pretty_type_manager.h",
"resolve_array.cc",
"resolve_array.h",
"resolve_base.cc",
"resolve_base.h",
"resolve_collection.cc",
"resolve_collection.h",
"resolve_const_value.cc",
"resolve_const_value.h",
"resolve_ptr_ref.cc",
"resolve_ptr_ref.h",
"resolve_type.cc",
"resolve_type.h",
"resolve_variant.cc",
"resolve_variant.h",
"return_value.cc",
"return_value.h",
"template_type_extractor.cc",
"template_type_extractor.h",
"vector_register_format.cc",
"vector_register_format.h",
]
public_deps = [
"//sdk/lib/fit",
"//src/developer/debug/zxdb/common",
"//src/developer/debug/zxdb/symbols",
"//src/lib/fxl",
"//third_party/double-conversion",
]
# TODO(fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
source_set("test_support") {
testonly = true
sources = [
"mock_eval_context.cc",
"mock_eval_context.h",
"test_eval_context_impl.h",
]
public_deps = [
":expr",
"//src/developer/debug/zxdb/symbols:test_support",
]
# TODO(fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
source_set("tests") {
testonly = true
sources = [
"bitfield_unittest.cc",
"builtin_types_unittest.cc",
"cast_unittest.cc",
"eval_context_impl_unittest.cc",
"eval_dwarf_expr_unittest.cc",
"eval_operators_unittest.cc",
"eval_test_support.cc",
"eval_test_support.h",
"expr_language_unittest.cc",
"expr_node_unittest.cc",
"expr_parser_unittest.cc",
"expr_tokenizer_unittest.cc",
"expr_unittest.cc",
"expr_value_source_unittest.cc",
"expr_value_unittest.cc",
"find_name_unittest.cc",
"format_test_support.cc",
"format_test_support.h",
"format_unittest.cc",
"identifier_glob_unittest.cc",
"index_walker_unittest.cc",
"mock_expr_node.cc",
"mock_expr_node.h",
"number_parser_unittest.cc",
"operator_keyword_unittest.cc",
"parse_special_identifier_unittest.cc",
"parse_string_unittest.cc",
"parsed_identifier_unittest.cc",
"permissive_input_location_unittest.cc",
"pretty_rust_tuple_unittest.cc",
"pretty_std_string_unittest.cc",
"pretty_type_manager_unittest.cc",
"pretty_type_unittest.cc",
"resolve_array_unittest.cc",
"resolve_base_unittest.cc",
"resolve_collection_unittest.cc",
"resolve_ptr_ref_unittest.cc",
"resolve_type_unittest.cc",
"resolve_variant_unittest.cc",
"return_value_unittest.cc",
"template_type_extractor_unittest.cc",
"vector_register_format_unittest.cc",
"virtual_base_test_setup.cc",
"virtual_base_test_setup.h",
"virtual_inheritance_test_setup.cc",
"virtual_inheritance_test_setup.h",
]
# Note: this should not depend on client/ or console/ libraries, including their test_support.
deps = [
":expr",
":test_support",
"//src/developer/debug/zxdb/common:test_support",
"//src/developer/debug/zxdb/symbols:test_support",
"//src/lib/llvm:LLVMBinaryFormat",
"//third_party/googletest:gtest",
]
# TODO(fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
fuzzer("expr_parser_fuzzer") {
sources = [ "expr_parser_fuzzer.cc" ]
deps = [ ":expr" ]
}
fuzzers_package("expr_fuzzers") {
fuzzers = [ ":expr_parser_fuzzer" ]
host_only = true
}