From 19e61467d577b1842cba344a6f6b328dda8262bd Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sat, 14 Oct 2023 15:31:37 +0200 Subject: [PATCH] Adding tuple generation for analysis of generated code. --- tests/Makefile | 3 +++ tests/tgen-tuple.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 tests/tgen-tuple.c diff --git a/tests/Makefile b/tests/Makefile index 5b9bc6be..6ef673d5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -173,6 +173,9 @@ gene-serial: gene-try: $(CC) $(CFLAGS) $(CPPFLAGS) -O3 -march=native -DNDEBUG -S -std=c11 tgen-try.c && less tgen-try.s +gene-tuple: + $(CC) $(CFLAGS) $(CPPFLAGS) -O3 -march=native -DNDEBUG -S -std=c11 tgen-tuple.c && less tgen-tuple.s + ##################################################################################################### # Coverage ##################################################################################################### diff --git a/tests/tgen-tuple.c b/tests/tgen-tuple.c new file mode 100644 index 00000000..8a0c7860 --- /dev/null +++ b/tests/tgen-tuple.c @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2017-2023, Patrick Pelissier + * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#include +#include "m-try.h" +#include "m-tuple.h" +#include "m-string.h" + +TUPLE_DEF2( tuple, (name, string_t), (surname, string_t), (value, int)) + +void duplicate(tuple_t dst, const tuple_t src) +{ + tuple_init_set(dst, src); +} +