mirror of
https://github.com/darlinghq/darling-libcxx.git
synced 2024-11-23 11:59:52 +00:00
add header to help with template testing
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@363503 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2a9550e537
commit
cd4a856d45
36
test/support/template_cost_testing.h
Normal file
36
test/support/template_cost_testing.h
Normal file
@ -0,0 +1,36 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifndef TEST_SUPPORT_TEMPLATE_COST_TESTING_H
|
||||
#define TEST_SUPPORT_TEMPLATE_COST_TESTING_H
|
||||
|
||||
// This file contains macros used to repeat an expression many times.
|
||||
// This is useful for testing the compile time and memory usage
|
||||
// of templates.
|
||||
|
||||
#define REPEAT_10(DO_IT) \
|
||||
DO_IT() DO_IT() DO_IT() DO_IT() DO_IT() \
|
||||
DO_IT() DO_IT() DO_IT() DO_IT() DO_IT()
|
||||
#define REPEAT_100(DO_IT) \
|
||||
REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT) \
|
||||
REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT) REPEAT_10(DO_IT)
|
||||
#define REPEAT_200(DO_IT) \
|
||||
REPEAT_100(DO_IT) REPEAT_100(DO_IT)
|
||||
#define REPEAT_300(DO_IT) \
|
||||
REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT)
|
||||
#define REPEAT_500(DO_IT) \
|
||||
REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT)
|
||||
#define REPEAT_1000(DO_IT) \
|
||||
REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) \
|
||||
REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT) REPEAT_100(DO_IT)
|
||||
#define REPEAT_5000(DO_IT) \
|
||||
REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT)
|
||||
#define REPEAT_10000(DO_IT) \
|
||||
REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) \
|
||||
REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT) REPEAT_1000(DO_IT)
|
||||
|
||||
#endif // TEST_SUPPORT_TEMPLATE_COST_TESTING_H
|
Loading…
Reference in New Issue
Block a user