llperl \- dll \-src #### C:\test\llperl\dll>cl /MT -c -DWIN32 -DWIN64 -DPERLDLL -DPERL_CORE -DPERL_IMPLICIT_SYS -I ..\src *.c *.cpp Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64 Copyright (C) Microsoft Corporation. All rights reserved. av.c deb.c doio.c doop.c dump.c DynaLoader.c fcrypt.c globals.c gv.c hv.c keywords.c locale.c mathoms.c mg.c mro.c numeric.c op.c op.c(10621) : warning C4028: formal parameter 2 different from declaration pad.c perl.c perlapi.c Generating Code... Compiling... perlio.c perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c reentr.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c win32.c Generating Code... Compiling... Win32CORE.c win32io.c win32sck.c win32thread.c Generating Code... Compiling... perllib.cpp Generating Code... C:\test\llperl\dll>link /dll /out:..\perl516.dll -def:..\perldll.def *.obj ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib Microsoft (R) Incremental Linker Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. perlio.obj : warning LNK4197: export 'PerlIO_perlio' specified multiple times; using first specification perlio.obj : warning LNK4197: export 'PerlIO_pending' specified multiple times; using first specification Creating library ..\perl516.lib and object ..\perl516.exp C:\test\llperl>dir 02/09/2012 09:53 dll 02/09/2012 22:52 2,587,136 perl516.dll 02/09/2012 22:52 153,839 perl516.exp 02/09/2012 22:52 253,364 perl516.lib 02/09/2012 03:46 src #### C:\test\llperl>cl /MT -c -DWIN32 -DWIN64 -DPERL_CORE -DPERL_IMPLICIT_SYS -I src src\*.c Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64 Copyright (C) Microsoft Corporation. All rights reserved. perlmain.c C:\test\llperl>link /OUT:perllVm.exe *.obj perl516.lib ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib Microsoft (R) Incremental Linker Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. C:\test\llperl>dir 02/09/2012 09:53 dll 02/09/2012 22:52 2,587,136 perl516.dll 02/09/2012 22:52 153,839 perl516.exp 02/09/2012 22:52 253,364 perl516.lib 02/09/2012 03:29 23,359 perldll.def 02/09/2012 22:56 38,400 perllVm.exe 02/09/2012 22:56 1,015 perlmain.obj 02/09/2012 03:46 src #### C:\test\llperl>perllVm -v This is perl 5, version 16, subversion 1 (v5.16.1) built for MSWin32-x64-multi-thread Copyright 1987-2012, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. C:\test\llperl>perllVm -E"say 'Hello, world!'" Hello, world! C:\test\llperl>type Ack.pl #! perl -sw use strict; use 5.010; use Time::HiRes qw[ time ]; no warnings 'recursion'; sub Ack { my( $M, $N ) = @_; return $N + 1 if $M == 0; return Ack( $M - 1, 1 ) if $N == 0; return Ack( $M - 1, Ack( $M, $N - 1 ) ); } my $start = time; say Ack( @ARGV ); say 'Took: ', time() - $start; C:\test\llperl>perllVm Ack.pl 3 9 4093 Took: 15.6298589706421 #### C:\test\llperl>\test\perl-5.16.1\perl.exe Ack.pl 3 9 4093 Took: 9.76109409332275 #### C:\test\perllVm>dir 02/09/2012 04:04 331 Ack.pl 02/09/2012 22:10 1,863 build.cmd 02/09/2012 23:12 dll 02/09/2012 03:29 23,359 perldll.def 02/09/2012 05:01 src C:\test\perllVm>cd dll C:\test\perllVm\dll>set opts=-c -fno-caret-diagnostics -fno-color-diagnostics C:\test\perllVm\dll>set warn=-Wno-unused-value -Wno-deprecated-declarations -Wno-parentheses -Wno-deprecated-writable-strings C:\test\perllVm\dll>set defs=-DWIN32 -DWIN64 -DPERLDLL -DPERL_CORE -DPERL_IMPLICIT_SYS C:\test\perllVm\dll>set srcs=av.c deb.c doio.c doop.c dump.c DynaLoader.c fcrypt.c globals.c gv.c hv.c keywords.c locale .c mathoms.c mg.c mro.c numeric.c op.c pad.c perl.c perlapi.c perlio.c perllib.cpp perly.c pp.c pp_ctl.c pp_hot.c pp_pac k.c pp_sort.c pp_sys.c reentr.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c win32.c Win32CORE.c win32io.c win32sck.c win32thread.c C:\test\perllVm\dll>set libs=ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib C:\test\perllVm\dll>\llvm\clang.exe -m64 -I ..\src %opts% %warn% %defs% %srcs% In file included from sv.c:41: ./stdint.h:197:9: warning: 'INT64_C' macro redefined ..\src/handy.h:204:28: note: previous definition is here In file included from sv.c:41: ./stdint.h:202:9: warning: 'UINT64_C' macro redefined ..\src/handy.h:205:28: note: previous definition is here win32.c:1925:30: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat] win32.c:1925:33: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat] win32.c:1929:36: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat] win32.c:1977:41: warning: format specifies type 'unsigned int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat] C:\test\perllVm\dll>dir /b *.o av.o deb.o doio.o doop.o dump.o DynaLoader.o fcrypt.o globals.o gv.o hv.o keywords.o locale.o mathoms.o mg.o mro.o numeric.o op.o pad.o perl.o perlapi.o perlio.o perllib.o perly.o pp.o pp_ctl.o pp_hot.o pp_pack.o pp_sort.o pp_sys.o reentr.o regcomp.o regexec.o run.o scope.o sv.o taint.o toke.o universal.o utf8.o util.o win32.o Win32CORE.o win32io.o win32sck.o win32thread.o C:\test\perllVm\dll>link /verbose:lib /dll /noentry /out:..\perl516.dll -def:..\perldll.def *.obj /libpath %libs% | wc -l 1796