summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2002-04-16 12:00:15 +0000
committerMarc Espie <espie@cvs.openbsd.org>2002-04-16 12:00:15 +0000
commitea13d77ca17247e69ee5c2724d9671e5731185b0 (patch)
tree9049953a09bd214c7217cc7ef6706ff8b139aaf8
parentc00e6c5957befb646dbd2d5bb8214cf9721eb671 (diff)
Stumbled upon a very inefficient construct by mistake...
Enter it as a regression test, so it can get fixed.
-rw-r--r--regress/usr.bin/make/Makefile7
-rw-r--r--regress/usr.bin/make/mk16214
2 files changed, 219 insertions, 2 deletions
diff --git a/regress/usr.bin/make/Makefile b/regress/usr.bin/make/Makefile
index 4068f1e2571..4adb262be68 100644
--- a/regress/usr.bin/make/Makefile
+++ b/regress/usr.bin/make/Makefile
@@ -1,7 +1,7 @@
-# $OpenBSD: Makefile,v 1.15 2002/02/26 16:54:47 espie Exp $
+# $OpenBSD: Makefile,v 1.16 2002/04/16 12:00:14 espie Exp $
# We don't pass t7, t13, t14...
-REGRESSTARGETS=t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
+REGRESSTARGETS=t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16
MALLOC_OPTIONS?=AZJ
t1: t1.out
@@ -72,6 +72,9 @@ t15:
touch t15file
cd ${.CURDIR} && ulimit -t 2 && env -i PATH=${PATH} MALLOC_OPTIONS=${MALLOC_OPTIONS} ${MAKE} -r -f mk15 2>/dev/null
+t16:
+ cd ${.CURDIR} && env -i PATH=${PATH} MALLOC_OPTIONS=${MALLOC_OPTIONS} ${MAKE} -r -f mk16
+
z.a:
touch $@
diff --git a/regress/usr.bin/make/mk16 b/regress/usr.bin/make/mk16
new file mode 100644
index 00000000000..92518bfc96e
--- /dev/null
+++ b/regress/usr.bin/make/mk16
@@ -0,0 +1,214 @@
+# $OpenBSD: mk16,v 1.1 2002/04/16 12:00:14 espie Exp $
+
+all:
+ @echo "That's all folks"
+
+# This kind of construction is very inefficient currently
+
+.for i in 1 2 3 4 5
+ perlfork 1 pod/perlfork.pod \
+ perlform 1 pod/perlform.pod \
+ perlfunc 1 pod/perlfunc.pod \
+ perlguts 1 pod/perlguts.pod \
+ perlhack 1 pod/perlhack.pod \
+ perlhist 1 pod/perlhist.pod \
+ perlintern 1 pod/perlintern.pod \
+ perlipc 1 pod/perlipc.pod \
+ perllexwarn 1 pod/perllexwarn.pod \
+ perllocale 1 pod/perllocale.pod \
+ perllol 1 pod/perllol.pod \
+ perlmod 1 pod/perlmod.pod \
+ perlmodinstall 1 pod/perlmodinstall.pod \
+ perlmodlib 1 pod/perlmodlib.pod \
+ perlnewmod 1 pod/perlnewmod.pod \
+ perlnumber 1 pod/perlnumber.pod \
+ perlobj 1 pod/perlobj.pod \
+ perlop 1 pod/perlop.pod \
+ perlopentut 1 pod/perlopentut.pod \
+ perlpod 1 pod/perlpod.pod \
+ perlport 1 pod/perlport.pod \
+ perlre 1 pod/perlre.pod \
+ perlref 1 pod/perlref.pod \
+ perlreftut 1 pod/perlreftut.pod \
+ perlrequick 1 pod/perlrequick.pod \
+ perlretut 1 pod/perlretut.pod \
+ perlrun 1 pod/perlrun.pod \
+ perlsec 1 pod/perlsec.pod \
+ perlstyle 1 pod/perlstyle.pod \
+ perlsub 1 pod/perlsub.pod \
+ perlsyn 1 pod/perlsyn.pod \
+ perlthrtut 1 pod/perlthrtut.pod \
+ perltie 1 pod/perltie.pod \
+ perltoc 1 pod/perltoc.pod \
+ perltodo 1 pod/perltodo.pod \
+ perltoot 1 pod/perltoot.pod \
+ perltootc 1 pod/perltootc.pod \
+ perltrap 1 pod/perltrap.pod \
+ perlunicode 1 pod/perlunicode.pod \
+ perlvar 1 pod/perlvar.pod \
+ perlxs 1 pod/perlxs \
+ perlxstut 1 pod/perlxstut \
+ pl2pm 1 utils/pl2pm \
+ pod2html 1 pod/pod2html \
+ pod2man 1 pod/pod2man \
+ pod2text 1 pod/pod2text \
+ pod2usage 1 pod/pod2usage \
+ podchecker 1 pod/podchecker \
+ podselect 1 pod/podselect \
+ pstruct 1 utils/pstruct \
+ s2p 1 x2p/s2p \
+ splain 1 utils/splain \
+ xsubpp 1 lib/ExtUtils/xsubpp \
+ AnyDBM_File 3p lib/AnyDBM_File.pm \
+ AnyDBM_File 3p lib/AnyDBM_File.pm \
+ AutoLoader 3p lib/AutoLoader.pm \
+ AutoSplit 3p lib/AutoSplit.pm \
+ B 3p ext/B/B.pm \
+ B::Asmdata 3p ext/B/B/Asmdata.pm \
+ B::Assembler 3p ext/B/B/Assembler.pm \
+ B::Bblock 3p ext/B/B/Bblock.pm \
+ B::Bytecode 3p ext/B/B/Bytecode.pm \
+ B::C 3p ext/B/B/C.pm \
+ B::CC 3p ext/B/B/CC.pm \
+ B::Concise 3p ext/B/B/Concise.pm \
+ B::Debug 3p ext/B/B/Debug.pm \
+ B::Deparse 3p ext/B/B/Deparse.pm \
+ B::Disassembler 3p ext/B/B/Disassembler.pm \
+ B::Lint 3p ext/B/B/Lint.pm \
+ B::Showlex 3p ext/B/B/Showlex.pm \
+ B::Stackobj 3p ext/B/B/Stackobj.pm \
+ B::Terse 3p ext/B/B/Terse.pm \
+ B::Xref 3p ext/B/B/Xref.pm \
+ Benchmark 3p lib/Benchmark.pm \
+ ByteLoader 3p ext/ByteLoader/ByteLoader.pm \
+ CGI 3p lib/CGI.pm \
+ CGI::Apache 3p lib/CGI/Apache.pm \
+ CGI::Carp 3p lib/CGI/Carp.pm \
+ CGI::Cookie 3p lib/CGI/Cookie.pm \
+ CGI::Fast 3p lib/CGI/Fast.pm \
+ CGI::Pretty 3p lib/CGI/Pretty.pm \
+ CGI::Push 3p lib/CGI/Push.pm \
+ CGI::Switch 3p lib/CGI/Switch.pm \
+ CGI::Util 3p lib/CGI/Util.pm \
+ CPAN 3p lib/CPAN.pm \
+ CPAN::FirstTime 3p lib/CPAN/FirstTime.pm \
+ CPAN::Nox 3p lib/CPAN/Nox.pm \
+ Carp 3p lib/Carp.pm \
+ Carp::Heavy 3p lib/Carp/Heavy.pm \
+ Class::Struct 3p lib/Class/Struct.pm \
+ Config 3p lib/Config.pm \
+ Cwd 3p lib/Cwd.pm \
+ DB 3p lib/DB.pm \
+ DB_File 3p ext/DB_File/DB_File.pm \
+ Data::Dumper 3p ext/Data/Dumper/Dumper.pm \
+ Devel::DProf 3p ext/Devel/DProf/DProf.pm \
+ Devel::Peek 3p ext/Devel/Peek/Peek.pm \
+ Devel::SelfStubber 3p lib/Devel/SelfStubber.pm \
+ DirHandle 3p lib/DirHandle.pm \
+ Dumpvalue 3p lib/Dumpvalue.pm \
+ DynaLoader 3p ext/DynaLoader/XSLoader_pm.PL \
+ English 3p lib/English.pm \
+ Env 3p lib/Env.pm \
+ Errno 3p ext/Errno/Errno_pm.PL \
+ Exporter 3p lib/Exporter.pm \
+ Exporter::Heavy 3p lib/Exporter/Heavy.pm \
+ ExtUtils::Command 3p lib/ExtUtils/Command.pm \
+ ExtUtils::Embed 3p lib/ExtUtils/Embed.pm \
+ ExtUtils::Install 3p lib/ExtUtils/Install.pm \
+ ExtUtils::Installed 3p lib/ExtUtils/Installed.pm \
+ ExtUtils::Liblist 3p lib/ExtUtils/Liblist.pm \
+ ExtUtils::MM_Unix 3p lib/ExtUtils/MM_Unix.pm \
+ ExtUtils::MakeMaker 3p lib/ExtUtils/MakeMaker.pm \
+ ExtUtils::Manifest 3p lib/ExtUtils/Manifest.pm \
+ ExtUtils::Miniperl 3p lib/ExtUtils/Miniperl.pm \
+ ExtUtils::Mkbootstrap 3p lib/ExtUtils/Mkbootstrap.pm \
+ ExtUtils::Mksymlists 3p lib/ExtUtils/Mksymlists.pm \
+ ExtUtils::Packlist 3p lib/ExtUtils/Packlist.pm \
+ ExtUtils::testlib 3p lib/ExtUtils/testlib.pm \
+ Fatal 3p lib/Fatal.pm \
+ Fcntl 3p lib/Fcntl.pm \
+ File::Basename 3p lib/File/Basename.pm \
+ File::CheckTree 3p lib/File/CheckTree.pm \
+ File::Compare 3p lib/File/Compare.pm \
+ File::Copy 3p lib/File/Copy.pm \
+ File::DosGlob 3p lib/File/DosGlob.pm \
+ File::Find 3p lib/File/Find.pm \
+ File::Glob 3p lib/File/Glob.pm \
+ File::Path 3p lib/File/Path.pm \
+ File::Spec 3p lib/File/Spec.pm \
+ File::Spec::Functions 3p lib/File/Spec/Functions.pm \
+ File::Spec::Unix 3p lib/File/Spec/Unix.pm \
+ File::Temp 3p lib/File/Temp.pm \
+ File::stat 3p lib/File/stat.pm \
+ FileCache 3p lib/FileCache.pm \
+ FileHandle 3p lib/FileHandle.pm \
+ FindBin 3p lib/FindBin.pm \
+ Getopt::Long 3p lib/Getopt/Long.pm \
+ Getopt::Std 3p lib/Getopt/Std.pm \
+ I18N::Collate 3p lib/I18N/Collate.pm \
+ IO 3p lib/IO.pm \
+ IO::Dir 3p lib/IO/Dir.pm \
+ IO::File 3p lib/IO/File.pm \
+ IO::Handle 3p lib/IO/Handle.pm \
+ IO::Pipe 3p lib/IO/Pipe.pm \
+ IO::Poll 3p lib/IO/Poll.pm \
+ IO::Seekable 3p lib/IO/Seekable.pm \
+ IO::Select 3p lib/IO/Select.pm \
+ IO::Socket 3p lib/IO/Socket.pm \
+ IO::Socket::INET 3p lib/IO/Socket/INET.pm \
+ IO::Socket::UNIX 3p lib/IO/Socket/UNIX.pm \
+ IPC::Msg 3p lib/IPC/Msg.pm \
+ IPC::Open2 3p lib/IPC/Open2.pm \
+ IPC::Open3 3p lib/IPC/Open3.pm \
+ IPC::Semaphore 3p lib/IPC/Semaphore.pm \
+ IPC::SysV 3p lib/IPC/SysV.pm \
+ Math::BigFloat 3p lib/Math/BigFloat.pm \
+ Math::BigInt 3p lib/Math/BigInt.pm \
+ Math::Complex 3p lib/Math/Complex.pm \
+ Math::Trig 3p lib/Math/Trig.pm \
+ NDBM_File 3p lib/NDBM_File.pm \
+ Net::Ping 3p lib/Net/Ping.pm \
+ Net::hostent 3p lib/Net/hostent.pm \
+ Net::netent 3p lib/Net/netent.pm \
+ Net::protoent 3p lib/Net/protoent.pm \
+ Net::servent 3p lib/Net/servent.pm \
+ O 3p lib/O.pm \
+ ODBM_File 3p lib/ODBM_File.pm \
+ Opcode 3p lib/Opcode.pm \
+ POSIX 3p lib/POSIX.pod \
+ Pod::Checker 3p lib/Pod/Checker.pm \
+ Pod::Find 3p lib/Pod/Find.pm \
+ Pod::Html 3p lib/Pod/Html.pm \
+ Pod::InputObjects 3p lib/Pod/InputObjects.pm \
+ Pod::LaTeX 3p lib/Pod/LaTeX.pm \
+ Pod::Man 3p lib/Pod/Man.pm \
+ Pod::ParseUtils 3p lib/Pod/ParseUtils.pm \
+ Pod::Parser 3p lib/Pod/Parser.pm \
+ Pod::Plainer 3p lib/Pod/Plainer.pm \
+ Pod::Select 3p lib/Pod/Select.pm \
+ Pod::Text 3p lib/Pod/Text.pm \
+ Pod::Text::Color 3p lib/Pod/Text/Color.pm \
+ Pod::Text::Overstrike 3p lib/Pod/Text/Overstrike.pm \
+ Pod::Text::Termcap 3p lib/Pod/Text/Termcap.pm \
+ Pod::Usage 3p lib/Pod/Usage.pm \
+ SDBM_File 3p lib/SDBM_File.pm \
+ Safe 3p lib/Safe.pm \
+ Search::Dict 3p lib/Search/Dict.pm \
+ SelectSaver 3p lib/SelectSaver.pm \
+ SelfLoader 3p lib/SelfLoader.pm \
+ Shell 3p lib/Shell.pm \
+ Socket 3p lib/Socket.pm \
+ Symbol 3p lib/Symbol.pm \
+ Sys::Hostname 3p lib/Sys/Hostname.pm \
+ Sys::Syslog 3p lib/Sys/Syslog.pm \
+ Term::ANSIColor 3p lib/Term/ANSIColor.pm \
+ Term::Cap 3p lib/Term/Cap.pm \
+ Term::Complete 3p lib/Term/Complete.pm \
+ Term::ReadLine 3p lib/Term/ReadLine.pm \
+ Test 3p lib/Test.pm \
+ Test::Harness 3p lib/Test/Harness.pm \
+ Text::Abbrev 3p lib/Text/Abbrev.pm \
+ Text::ParseWords 3p lib/Text/ParseWords.pm \
+ Text::Soundex 3p lib/Text/Soundex.pm
+
+.endfor