parent
11f9425a5e
commit
f934598865
4 changed files with 48 additions and 0 deletions
@ -0,0 +1,6 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
import sys |
||||
import shutil |
||||
|
||||
shutil.copyfile(sys.argv[1], sys.argv[2]) |
@ -0,0 +1,14 @@ |
||||
#include <stdio.h> |
||||
|
||||
unsigned square_unsigned (unsigned a); |
||||
|
||||
int |
||||
main (int argc, char * argv[]) |
||||
{ |
||||
unsigned int ret = square_unsigned (2); |
||||
if (ret != 4) { |
||||
printf("Got %u instead of 4\n", ret); |
||||
return 1; |
||||
} |
||||
return 0; |
||||
} |
@ -0,0 +1,24 @@ |
||||
project('generated llvm ir', 'c') |
||||
|
||||
if meson.get_compiler('c').get_id() != 'clang' |
||||
error('MESON_SKIP_TEST: LLVM IR files can only be built with clang') |
||||
endif |
||||
|
||||
copy = find_program('copy.py') |
||||
|
||||
copygen = generator(copy, |
||||
arguments : ['@INPUT@', '@OUTPUT@'], |
||||
output : '@BASENAME@') |
||||
|
||||
l = shared_library('square-gen', copygen.process('square.ll.in')) |
||||
|
||||
test('square-gen-test', executable('square-gen-test', 'main.c', link_with : l)) |
||||
|
||||
copyct = custom_target('square', |
||||
input : 'square.ll.in', |
||||
output : 'square.ll', |
||||
command : [copy, '@INPUT@', '@OUTPUT@']) |
||||
|
||||
l = shared_library('square-ct', copyct) |
||||
|
||||
test('square-ct-test', executable('square-ct-test', 'main.c', link_with : l)) |
@ -0,0 +1,4 @@ |
||||
define i32 @square_unsigned(i32 %a) { |
||||
%1 = mul i32 %a, %a |
||||
ret i32 %1 |
||||
} |
Loading…
Reference in new issue