# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use
# this file except in compliance with the License. A copy of the License is
# located at
#
#     http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing permissions and
# limitations under the License.

###########
#4: 25s
#16: 10s
#32: 1m10s
MAX_TABLE_SIZE ?= 16
DEFINES += -DMAX_TABLE_SIZE=$(MAX_TABLE_SIZE) 

UNWINDSET +=  aws_hash_table_foreach.0:$(shell echo $$((1 + $(MAX_TABLE_SIZE))))

CBMCFLAGS +=

DEPENDENCIES += $(HELPERDIR)/source/make_common_data_structures.c
DEPENDENCIES += $(HELPERDIR)/source/proof_allocators.c
DEPENDENCIES += $(HELPERDIR)/source/utils.c
DEPENDENCIES += $(HELPERDIR)/stubs/error.c
DEPENDENCIES += $(SRCDIR)/source/common.c
DEPENDENCIES += $(SRCDIR)/source/hash_table.c

ABSTRACTIONS += $(HELPERDIR)/stubs/aws_hash_iter_overrides.c
ADDITIONAL_REMOVE_FUNCTION_BODY += --remove-function-body aws_hash_iter_begin
ADDITIONAL_REMOVE_FUNCTION_BODY += --remove-function-body aws_hash_iter_delete
ADDITIONAL_REMOVE_FUNCTION_BODY += --remove-function-body aws_hash_iter_done
ADDITIONAL_REMOVE_FUNCTION_BODY += --remove-function-body aws_hash_iter_next

ENTRY = aws_hash_table_foreach_harness
###########

include ../Makefile.common
