packages feed

c2hs 0.28.3 → 0.28.4

raw patch · 37 files changed

+35/−3382 lines, 37 filesdep ~language-c

Dependency ranges changed: language-c

Files

− .boring
@@ -1,59 +0,0 @@-# Project specific-\.setup-config$-autom4te\.cache-c2hs\.spec$-c2hs/c/CLexer\.hs$-c2hs/c/CParser\.hs$-c2hs/c2hs$-c2hs/c2hs-inplace$-c2hs/tests/.*\.hs$-c2hs/tests/.*\.h$-\.chi$-c2hs/tests/enums$-c2hs/tests/marsh$-c2hs/tests/pointer$-c2hs/tests/structs$-c2hs/toplevel/C2HSConfig\.hs$-c2hs/toplevel/Version\.hs$-config\.log$-config\.status$-configure$-^dist-doc/c2hs/Makefile$-doc/c2hs/.*\.html$-doc/c2hs/.*\.txt$-doc/c2hs/man1/c2hs.1-postInst\.sh-#-# Boring file regexps:-\.hi$-\.o$-\.o\.cmd$-\.ko$-\.ko\.cmd$-\.mod\.c$-(^|/)\.tmp_versions($|/)-(^|/)CVS($|/)-(^|/)RCS($|/)-~$-#(^|/)\.[^/]-(^|/)_darcs($|/)-\.bak$-\.BAK$-\.orig$-(^|/)vssver\.scc$-\.swp$-(^|/)MT($|/)-(^|/)\{arch\}($|/)-(^|/).arch-ids($|/)-(^|/),-\.class$-\.prof$-(^|/)\.DS_Store$-(^|/)BitKeeper($|/)-(^|/)ChangeSet($|/)-(^|/)\.svn($|/)-\.py[co]$-\#-\.cvsignore$-(^|/)Thumbs\.db$
− .gitignore
@@ -1,170 +0,0 @@-/.cabal-sandbox/*-/cabal.sandbox.config-*.chi-*.chs.h-/dist/*-*.hi-/issues/*-*.o-/.shelly/*.txt-/tests/bugs/call_capital/Capital-/tests/bugs/call_capital/Capital.chi-/tests/bugs/call_capital/Capital.chs.h-/tests/bugs/call_capital/Capital_c.o-/tests/bugs/call_capital/Capital.hi-/tests/bugs/call_capital/Capital.hs-/tests/bugs/call_capital/Capital.o-/tests/bugs/issue-09/Issue09.hs-/tests/bugs/issue-102/Issue102-/tests/bugs/issue-102/Issue102.hs-/tests/bugs/issue-103/Issue103A.hs-/tests/bugs/issue-103/Issue103.hs-/tests/bugs/issue-107/Issue107-/tests/bugs/issue-107/Issue107.hs-/tests/bugs/issue-10/Issue10-/tests/bugs/issue-10/Issue10.hs-/tests/bugs/issue-10/Issue10.i-/tests/bugs/issue-113/Issue113-/tests/bugs/issue-113/Issue113.hs-/tests/bugs/issue-115/Issue115-/tests/bugs/issue-115/Issue115.hs-/tests/bugs/issue-116/Issue116-/tests/bugs/issue-116/Issue116.hs-/tests/bugs/issue-15/Issue15-/tests/bugs/issue-15/Issue15.hs-/tests/bugs/issue-16/Issue16-/tests/bugs/issue-16/Issue16.hs-/tests/bugs/issue-19/Issue19-/tests/bugs/issue-19/Issue19.hs-/tests/bugs/issue-20/Issue20.i-/tests/bugs/issue-22/Issue22-/tests/bugs/issue-22/Issue22.hs-/tests/bugs/issue-23/Issue23-/tests/bugs/issue-23/Issue23.hs-/tests/bugs/issue-29/Issue29.hs-/tests/bugs/issue-29/Issue29.i-/tests/bugs/issue-30/Issue30-/tests/bugs/issue-30/Issue30Aux1.hs-/tests/bugs/issue-30/Issue30Aux2.hs-/tests/bugs/issue-30/Issue30.hs-/tests/bugs/issue-31/Issue31-/tests/bugs/issue-31/Issue31.hs-/tests/bugs/issue-32/Issue32-/tests/bugs/issue-32/Issue32.hs-/tests/bugs/issue-36/Issue36-/tests/bugs/issue-36/Issue36.hs-/tests/bugs/issue-37/Issue37-/tests/bugs/issue-37/Issue37.hs-/tests/bugs/issue-38/Issue38-/tests/bugs/issue-38/Issue38.hs-/tests/bugs/issue-43/Issue43-/tests/bugs/issue-43/Issue43.hs-/tests/bugs/issue-44/Issue44-/tests/bugs/issue-44/Issue44.hs-/tests/bugs/issue-45/Issue45-/tests/bugs/issue-45/Issue45.hs-/tests/bugs/issue-46/Issue46-/tests/bugs/issue-46/Issue46.hs-/tests/bugs/issue-47/Issue47-/tests/bugs/issue-47/Issue47.hs-/tests/bugs/issue-51/Issue51-/tests/bugs/issue-51/Issue51_GNU-/tests/bugs/issue-51/Issue51_GNU.hs-/tests/bugs/issue-51/Issue51.hs-/tests/bugs/issue-51/Issue51_nonGNU-/tests/bugs/issue-51/Issue51_nonGNU.hs-/tests/bugs/issue-54/Issue54-/tests/bugs/issue-54/Issue54.hs-/tests/bugs/issue-60/Issue60-/tests/bugs/issue-60/Issue60.hs-/tests/bugs/issue-60/Issue60.i-/tests/bugs/issue-62/Issue62-/tests/bugs/issue-62/Issue62.hs-/tests/bugs/issue-65/Issue65-/tests/bugs/issue-65/Issue65.hs-/tests/bugs/issue-69/Issue69-/tests/bugs/issue-69/Issue69.hs-/tests/bugs/issue-70/Issue70.hs-/tests/bugs/issue-73/Issue73-/tests/bugs/issue-73/Issue73.hs-/tests/bugs/issue-75/Issue75-/tests/bugs/issue-75/Issue75.hs-/tests/bugs/issue-79/Issue79-/tests/bugs/issue-79/Issue79.hs-/tests/bugs/issue-7/Issue7.hs-/tests/bugs/issue-7/Issue7.i-/tests/bugs/issue-80/Issue80-/tests/bugs/issue-80/Issue80.hs-/tests/bugs/issue-82/Issue82-/tests/bugs/issue-82/Issue82.hs-/tests/bugs/issue-83/Issue83-/tests/bugs/issue-83/Issue83.hs-/tests/bugs/issue-93/Issue93-/tests/bugs/issue-93/Issue93.hs-/tests/bugs/issue-95/Issue95-/tests/bugs/issue-95/Issue95.hs-/tests/bugs/issue-96/Issue103-/tests/bugs/issue-96/Issue96-/tests/bugs/issue-96/Issue96.hs-/tests/bugs/issue-97/Issue97-/tests/bugs/issue-97/Issue97A.hs-/tests/bugs/issue-97/Issue97.hs-/tests/bugs/issue-98/Issue98-/tests/bugs/issue-98/Issue98.hs-/tests/bugs/issue-9/Issue9-/tests/bugs/issue-9/Issue9.hs-/tests/system/calls/Calls.hs-/tests/system/cpp/Cpp.hs-/tests/system/enums/enums-/tests/system/enums/Enums.hs-/tests/system/marsh/marsh-/tests/system/marsh/Marsh.hs-/tests/system/pointer/pointer-/tests/system/pointer/Pointer.hs-/tests/system/simple/simple-/tests/system/simple/Simple.hs-/tests/system/sizeof/sizeof-/tests/system/sizeof/Sizeof.hs-/tests/system/structs/structs-/tests/system/structs/Structs.hs-/tests/bugs/issue-20/Issue20-/tests/bugs/issue-20/Issue20.hs-/tests/bugs/issue-25/Issue25-/tests/bugs/issue-25/Issue25.hs-/tests/bugs/issue-48/Issue48-/tests/bugs/issue-48/Issue48.hs-/tests/bugs/issue-123/Issue123-/tests/bugs/issue-123/Issue123.hs-/tests/bugs/issue-102/issue-102.txt-/tests/bugs/issue-117/Issue117-/tests/bugs/issue-117/Issue117.hs-/tests/bugs/issue-117/Issue117.chs.c-/tests/bugs/issue-127/Issue127-/tests/bugs/issue-127/Issue127.hs-/tests/bugs/issue-128/Issue128-/tests/bugs/issue-128/Issue128.chs.c-/tests/bugs/issue-128/Issue128.hs-/tests/bugs/issue-131/Issue131.chs.c-/tests/bugs/issue-131/Issue131.hs-/tests/bugs/issue-131/Issue131-/tests/bugs/issue-130/Issue130-/tests/bugs/issue-130/Issue130.hs-/tests/bugs/issue-133/Issue133-/tests/bugs/issue-133/Issue133.hs-/tests/bugs/issue-136/Issue136.hs-/tests/bugs/issue-136/Issue136-/tests/bugs/issue-134/Issue134-/tests/bugs/issue-134/Issue134.hs-/tests/bugs/issue-151/Issue151.hs-/tests/bugs/issue-149/Issue149-/tests/bugs/issue-149/Issue149.hs-/tests/bugs/issue-141/Issue141A.hs-/tests/bugs/issue-141/Issue141B.hs-/tests/bugs/issue-152/Issue152-/tests/bugs/issue-140/Issue140-/tests/bugs/issue-140/Issue140.hs-/tests/bugs/issue-152/Issue152.hs-/tests/bugs/issue-155/Issue155-/tests/bugs/issue-155/Issue155.hs-/tests/bugs/issue-152/Issue152.hs-/tests/bugs/issue-155/Types.hs
− .travis.yml
@@ -1,30 +0,0 @@-env:-  global:-    - AWS_ACCESS_KEY_ID=AKIAIKUEH2ETWTBS2CKQ-    - secure: "Jzawnhgk3dX2INzbZIlnHCH+aKWqy96B9T1hzBh/Fqp4whglaZDO0mTLHQnhypqAt1rXO2o3yBNcKgGOcgfUuE71uBCzzaXieB0p8BhYn7cwYeANbuKNOGrsP6oDutS5F57FNWwgRp+2oanpgJNOs/6wvfElA7W6ibN8tZiLQrw="-  matrix:-    - GHCVER=7.10.3--before_install:- - travis_retry sudo add-apt-repository -y ppa:hvr/ghc- - travis_retry sudo apt-get update- - travis_retry sudo apt-get install libnetcdf-dev libgsl0-dev liblapack-dev- - travis_retry sudo apt-get install cabal-install-1.24 ghc-$GHCVER-prof ghc-$GHCVER-dyn happy- - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/1.24/bin:$PATH--install:-  - sudo apt-get update -qq-  - sudo pip install awscli-  - cabal update-  - |-    if [ $GHCVER = "head" ] || [ ${GHCVER%.*} = "7.8" ] || [ ${GHCVER%.*} = "7.10" ]; then-      travis_retry sudo apt-get install happy-1.19.5 alex-3.1.7-      export PATH=/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:$PATH-    else-      travis_retry sudo apt-get install happy alex-    fi-  - cabal install --only-dependencies --enable-tests -fregression--script:-  - cabal install && cabal configure --enable-tests -fregression && cabal build && cabal test-  - ./dist/build/regression-suite/regression-suite
− ChangeLog.CTKlight
@@ -1,465 +0,0 @@-2005-05-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* Makefile: Evil Hack to be able create base.build.conf before-	building `libctk.a'--2005-05-18  André Pang  <ozone@algorithm.com.au>--	* Adaptation to GHC 6.4 and the Cabal package system--2005-05-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* admin/BaseVersion.hs (versnum): 0.27.0--2004-05-15  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* configure.in: Using `egrep' is available (as grep on SunOS-	doesn't handle regular expressions) noticed by Matthias Neubauer-	<neubauer@informatik.uni-freiburg.de>--	* syntax/Parsers.hs (execParser): Added a token mapping as an-	extra argument--2003-10-19  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* configure.in: Support for Mac OS X by Sean Seefried-	<sseefried@cse.unsw.edu.au>--2003-10-19  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* sysdep/Makefile: Posix (and hence, `runPiped') support disabled,-	as `runPiped' (1) isn't really used at the moment, (2) should be-	rewritten anyway, and (3) breaks with GHC 6.3 as the signature of-	`forkProcess' changed.--	* admin/BaseVersion.hs (versnum): 0.26.0--2003-06-10  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* ../mk/common.mk (MKDEPENDFILES): defined ghc6--	* syntax/Makefile (RANK2): defined ghc6--	* sysdep/Makefile (SRCS): defined SysDepGHC6.hs as an alias for-	SysDepGHC4.hs--	* admin/BaseVersion.hs (versnum): 0.25.1--2003-03-13  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* general/Sets.hs (domSetFM): added--	* general/FiniteMaps.hs (domFM): added-	(imageFM): added--	* admin/BaseVersion.hs (versnum): 0.25.0--2003-02-12  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* general/UNames.hs: we derive `Show Name' explicitly to print the-	number only--2003-02-05  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* general/FileOps.hs (mktemp): added--2003-02-01  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* ../common.mk: I wasn't careful when removing the ability (for-	the user) to invoke make in the part directories and hence the-	ability to check dependencies in these directories.  As a result,-	recursive invocations of make tried to check dependencies in part-	directories and erroneously decided that the target is alreasy up-	to date.  Now the object file are removed before descending into-	the recursive make.--	* ../common.mk (gendepend): remove $(DEPEND) first--	* admin/BaseVersion.hs (versnum): 0.24.3--2002-09-16  Manuel M T Chakravarty  <chak@AttitudeAdjuster>--	* Makefile (libctk.o): generating library for GHCi--2002-09-06  Manuel M T Chakravarty  <chak@AttitudeAdjuster>--	* Makefile (OBJS): excluded state/DynArrays.o from the target-	objects for nhc98 (as it chokes on that module)--2002-05-16  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* changed name if base package to `ctk' to not clash with GHC's-	new package naming scheme--	* admin/BaseVersion.hs (versnum): 0.24.2--2002-03-22  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: test for availability of the `posix' package-	made more reliable-	-	* admin/BaseVersion.hs (versnum): 0.24.1--2002-03-12  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* Makefile: revised to new build system--	* admin/BaseVersion.hs (versnum): 0.24.0--2002-03-06  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* general/Sets.hs (isSuperSet): cut'n'pasto--2002-03-05  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* Makefile: fixed libctk.a target--	* ../configure.in: make sure to include the posix package only for-	GHC (and not for nhc98)--	* admin/BaseVersion.hs (versnum): 0.23.1--2002-02-11  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* Makefile: we are now creating a library archive to use packages--2002-02-10  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* ../mk/common.mk: added package support--	* ../configure.in: added package support; replaced -syslib by -package--	* admin/BaseVersion.hs (versnum): 0.23.0--2002-01-06  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>--	* common.mk: removed TMP as it causes problems on cygwin as-	reported by Karl M. Syring <syring@web.de>--	* admin/BaseVersion.hs (versnum): 0.22.5--2001-09-26  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* general/UNames.hs: nhc98 1.08 doesn't grok deriving Ix--	* ../configure.in: better support for nhc98 --	* admin/BaseVersion.hs (versnum): 0.22.4--2001-05-20  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* state/CIO.hs (doesFileExistCIO): added by Axel Simon <simona_@web.de>--2001-05-13  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* Makefile (spotless): remove config.cache--2001-04-21  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: Adapted to support ghc 5.x and removed support-	for ghc 3.x--	* admin/BaseVersion.hs (versnum): 0.22.3--2000-10-05  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: uses the fptools macro for determining ghc's-	version number--2000-10-02  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* errors/Errors.hs (showError): special handling of internal positions--	* admin/Common.hs: added internal positions--	* admin/BaseVersion.hs (versnum): 0.22.2--2000-09-15  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: corrected ghc version number extraction to-	correctly handle patch levels; added happy - most have gone lost-	earlier...--2000-09-12  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* syntax/Pretty.hs (<>): debugged--2000-09-11  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* syntax/Pretty.hs (Pretty): type class for pretty printing-	(infixOp): added-	(usedWhen): added-	(punctuate): added-	(dot): added--	* admin/BaseVersion.hs (versnum): 0.22.1--2000-09-07  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* syntax/Pretty.hs: Revision of the interface; the interface is-	now 90% compatible to SimonPJ's `Pretty' module; debugging-	(fullRender): dropping leading '\n's-	some more combinators--	* admin/BaseVersion.hs (versnum): 0.22.0--2000-09-03  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* admin/Common.hs (tabPos): Roman pointed out that tab stops-	should be at 1, 9, ... rather than 0, 8, ...--2000-09-02  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* admin/BaseVersion.hs (versnum): 0.21.1--2000-08-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* sysdep/Makefile: Moved the posix stuff into an extra module,-	which can be enabled individually--	* ../configure.in: CygWin support; based on suggestions by Anibal-	Maffioletti Rodrigues de DEUS <anibaldedeus@email.com>--	* ../configure.in: uses -silent on lndir only if supported (isn't-	supported before X11R6, says Jan Kort <kort@wins.uva.nl>)--	* admin/BaseVersion.hs (versnum): 0.21.0--2000-08-08  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* syntax/Lexers.hs: Changed the associativity of `quest`, `star`,-	and `plus`.  This change was suggested by Martin Norbäck-	<d95mback@dtek.chalmers.se>.--	** WARNING **  This change may break some existing code!!!--2000-06-19  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* admin/BaseVersion.hs (versnum): 0.20.2--2000-04-06  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: -fasm-x86 is used only if --with-ghc-native is given--	* general/Sets.hs (powerSet): impl--2000-04-05  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* general/Sets.hs: derived Eq and Ord for FMs, which allows sets-	of sets and added `isSubSet' and `isSuperSet'--	* general/FiniteMaps.hs: derived Eq and Ord for FMs--	* admin/BaseVersion.hs (date): 0.20.1--2000-03-04  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../configure.in: fixes re compiler & option selection--2000-03-01  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../mk/common.mk: fixed dependency computations--	* ../configure.in: polished; on Linux, uses native code generator-	when compiling with GHC 4.0x, x >= 7--2000-02-27  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* syntax/Parsers.hs: table handling substantially rewritten to-	improve the space behaviour--	* general/Utils.hs: `Tag' class--	* admin/BaseVersion.hs (versnum): 0.20.0--2000-02-23  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>--	* ../mk/config.mk.in: set correct access modes in INSTALL_DATA--1999-12-06  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* graphs/Marks.hs: newly implemented--	* admin/BaseVersion.hs (versnum): 0.19.1--1999-12-03  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* syms/Attributes.hs: instance Ord Attrs--1999-12-02  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* sysdep/SysDepNHC1.hs: debugging--1999-12-01  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* ../configure.in,../mk/common.mk: better dependency tool computation--	* syms/Idents.hs: uses `Attributed'--	* syms/Attributes.hs: `Attributed' type class, as suggested by- 	Roman Lechtchinsky--	* admin/BaseVersion.hs (versnum): 0.19.0--	* sysdep/SysDepNHC1.hs: Started the system dependent module for-	nhc98 with assistance from Malcolm Wallace--1999-11-30  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* state/StateTrans.hs: Adapted to new names in mutable variables API--	* general/UNames.hs: Adapted to new names in mutable variables API--	* sysdep/SysDepGHC3.hs: adapted to new names of exported entities--	* sysdep/SysDepGHC4.hs: Cleaned up; no GHC internal stuff is used-	anymore (some of the names of exported entities changed!)--	* sysdep/Makefile: Added support for nhc98--	* ../configure.in & friends: Added support for nhc98--	* admin/BaseVersion.hs (versnum): 0.18.2--1999-11-17  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* ../mk/config.mk.in: introduced `docdir' and `pkgdocdir'-	-	* Make system debianised, according to the suggestions and the- 	patches of Michael Weber <michael.weber@Post.RWTH-Aachen.DE>--	* admin/BaseVersion.hs (versnum): 0.18.1--1999-11-07  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* general/FileOps.hs (fileFindIn): debugged--1999-11-06  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* general/FileOps.hs: new module; implemented `fileFindIn'--	* general/FNameOps.hs (addPath): added--	* admin/BaseVersion.hs (versnum): 0.18.0--1999-10-29  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* admin/BaseVersion.hs (versnum): 0.17.17; fully modularised the-	make system--1999-10-25  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* state/CIO.hs (removeFileCIO): added--	* admin/BaseVersion.hs (versnum): 0.17.16--1999-10-24  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* syms/NameSpaces.hs (nameSpaceToList): added--	* admin/BaseVersion.hs (versnum): 0.17.15--1999-10-21  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* syms/Idents.hs (isLegalIdent): corrected `checkTail' - thanx Sven--1999-10-16  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>--	* syms/NameSpaces.hs (defLocal): uses `defGloal' if there is no-	local range--	-Pre GNU-style change log---------------------------0.17.13-~~~~~~~-09Oct99 Debugging--0.17.12-~~~~~~~-27Sep99 `CIO.systemCIO'-26Sep99 Debugging and some more clean up of `Lexers'-25Sep99 Some convenience function on `Position's in `Common'-23Sep99 Added `\v' to the control lexer--0.17.11-~~~~~~~-22Sep99 Optimised and extended `Lexers' (meta actions can now return tokens or -	error messages); prepared the first separate distribution of CTKlight-21Sep99 Debugged `Lexers'--0.17.10-~~~~~~~-29Aug99 Added `Utils.lookupBy'--0.17.9-~~~~~~-22Aug99 Throughly revised `Lexers' (according to SPJ's suggestions)-12Aug99 Revised `Lexers.execLexer' (returns final state, changed semantics-	of meta actions slightly, and structure simplified)--0.17.8-~~~~~~-30Jul99 Clarified `NameSpaces'-19Jul99 Using Roman's `Parsers.seplist1'--0.17.7-~~~~~~-05Jul99 `Lexers' exports `ctrlLexer'--0.17.6-~~~~~~-07Jun99 Small additions to `Idents'-03Jun99 Small additions to `Attributes'--0.17.5-~~~~~~-05Apr99 Configurable makefile variables from common.mk into new config.mk-02Apr99 Small bug fixes-31Mar99 `Parsers': Support for parsing prefixes-30Mar99 Bug fixes (incl. `Parsers.sep')--0.17.4-~~~~~~-13Mar99 Added meta actions to `Parsers'-12Mar99 Revised for GHC 4.02 and Haskell 98-11Mar99 Extension of parser library with threaded state-04Mar99 Self-optimizing lexer library for regular expressions-27Feb99 Self-optimizing LL(1) parser library a la Swierstra/Duponcheel --0.16.0-~~~~~~-11Feb99 `Idents.cloneIdent' & standard attributes in `Attributes'--0.15.0-~~~~~~-02Feb99 `Set' module--0.14.2-~~~~~~-23Jan99 `Ident' got an instance for `Show'--0.14.1-~~~~~~-01Dec98 Extracted mk/dhc.mk and mk/nepal.mk from mk/common.mk--0.14.0-~~~~~~-13Nov98 Rewrote `CST' into `PreCST' that provides an extra state (part of the-	base state) that can be instantiated by an client compiler using the-	Toolkit.  As a consequence, `state/Switches' can be moved into DHC.--0.13.0-~~~~~~-10Nov98 admin/Version.hs--0.12.0-~~~~~~-19Oct98 Added Sven Panne's `GetOpt' to general/--0.11.1-~~~~~~-23Sep98	Completely overhauled Makefile system.--29Jul98	Finished extraction from what was originally called the HiPar toolkit.
− README.CTKlight
@@ -1,80 +0,0 @@-		       Compiler Toolkit - Light			     -*-text-*--		       ========================--Contents:--  README.CTKlight -- This file-  LICENSE.LIB	  -- GNU Library General Public License (LGPL)-  BaseVersion.hs  -- Version, copyright, and disclaimer-  Config.hs	  -- Configuration module-  Common.hs	  -- Basic definitions, such as representation of positions-  DLists.hs	  -- Difference lists - provide O(1) append-  Errors.hs	  -- Types and functions for error handling-  FNameOps.hs	  -- Common operations on file names-  FiniteMaps.hs	  -- Finite maps based on 2-3 trees-  GetOpt.hs	  -- Sven Panne's Haskell version of the GNU getopt library-  Lexers.hs	  -- Self-optimising lexer combinators-  Parsers.hs	  -- Self-optimising parser combinators-  Pretty.hs	  -- Pretty printing combinators (the interface is essentially-		     a superset of SimonPJ's pretty printing library)-  Sets.hs	  -- Sets as an instance of the above mentioned finite maps-  Utils.hs	  -- Utility routines--The Compiler Toolkit Light (CTKlight) is a subset of the Compiler Toolkit-(CTK) - an infrastructure for writing compilers in Haskell.  CTKlight-essentially provides support for implementing syntactical analysis without the-more heavy-weight state management (like compiler switches, global error pool,-and exceptions), identifier and attribute management, and various other-utilities included in the full CTK.  Both packages can be obtained from--  http://www.cse.unsw.edu.au/~chak/ctk/----=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- BUILDING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--In contrast to full CTK, CTKlight is simply a set of Haskell modules without-any complicated makefile structure.  The code is Haskell 98 compliant with the -exception that `Parser.hs' makes use of existentially quantified type-variables - unfortunately, I do not believe that the same method of-self-optimisation would work without existential types.--The modules are tested with--* GHC 4.02 and upwards (use `-fglasgow-exts' to compile `Parsers.hs') and-* Hugs98 (use `-98' when using `Parsers.hs').--If you want autoconf, a ready-made makefile structure, and much more-additional library functionality, then use full CTK.----=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COPYLEFT -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--This library is free software; you can redistribute it and/or modify it under-the terms of the GNU Library General Public License as published by the Free-Software Foundation; either version 2 of the License, or (at your option) any-later version.--This library is distributed in the hope that it will be useful, but WITHOUT-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS-FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for more-details.--You should have received a copy of the GNU Library General Public License-along with this system; if not, write to the Free Software Foundation, Inc.,-675 Mass Ave, Cambridge, MA 02139, USA.--Note: In essence this means that you can use this library in any program-      whether it is free or proprietary.  However, if you modify or extend the-      library itself, you are bound to distribute these modifications or-      extensions according to the terms and conditions of the LGPL.  For-      details consult the license itself, which is located in the file-      `LICENSE.LIB'.----=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CREDITS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=---Author & Maintainer: Manuel M. T. Chakravarty <chak@cse.unsw.edu.au>--Thanks to Simon L. Peyton Jones <simonpj@microsoft.com> and Roman Lechtchinsky-<wolfro@cs.tu-berlin.de> for their helpful suggestions that improved the-design and implementation of the `Lexers' module.
− README.md
@@ -1,35 +0,0 @@-[![Build Status](https://travis-ci.org/haskell/c2hs.svg?branch=master)](https://travis-ci.org/haskell/c2hs)--`c2hs` is a interfacing tool that eases Haskell access to C libraries.-The tool gets information about the C data type definitions and-function signatures by analysing the C header files of the library.-It uses this information to compute the missing details in the-template of a Haskell module &mdash; called the binding file &mdash;-that implements a Haskell binding to the C library.  Hooks embedded in-the binding file signal where, which, and how C objects are accessed-from Haskell.  The Haskell code in the binding file determines Haskell-types signatures and marshaling details.--Further information is on the-[wiki](https://github.com/haskell/c2hs/wiki/Home).  Also see the-[user guide](https://github.com/haskell/c2hs/wiki/User-Guide) (also-available in the `doc` directory of the repository).---## Installing--To install `c2hs` from Hackage:--    cabal install c2hs--If you like to build from the GitHub repository, see the file-`INSTALL`.  See the `REGRESSION-SUITE` file for a description of how-to run the regression suite for checking C2HS performance against-existing Haskell packages that use it.---## License--All code **generated by** `c2hs` is under a BSD licence. Hence, `c2hs` is useful for both open and closed source projects.--The tool itself is released under the GPLv2. This is the same situation as for the GNU C Compiler. For details, see the file `COPYING`.
− REGRESSION-SUITE
@@ -1,50 +0,0 @@-                        C2HS REGRESSION SUITE-                        ~~~~~~~~~~~~~~~~~~~~~--C2HS is flexible enough that it's difficult to write a test suite that-covers all the cases of interest to users.  As well as a general test-suite and tests for individual issues, it makes sense to test for C2HS-regressions by installing a range of packages that use C2HS.--The regression suite is managed as a single Cabal test suite called-regression-suite.  This reads a YAML configuration file giving a list-of packages to test against.  The test suite succeeds if a "cabal-install" of each of the test packages succeeds without error, using-the current version of C2HS.--This process requires care for two reasons:-- 1. Because C2HS is an FFI tool, packages that use C2HS almost always-    have dependencies on external libraries, so writing a simple test-    suite is not straightforward.-- 2. It's undesireable to install a whole set of Haskell packages for-    C2HS regression testing into the user's environment.--To handle these two issues, the regression-suite test suite behaves as-follows:-- ON TRAVIS--  - Always run the regression suite.--  - Install all library dependencies before attempting to install-    Haskell packages.  These dependencies are given in the regression-    suite configuration file as lists of APT package names, optionally-    with PPAs to install them from, or as lists of shell commands to-    use to install the dependencies.-- ON NON-TRAVIS SYSTEMS--  - Only run the regression suite if the C2HS_REGRESSION_SUITE-    environment variable is defined.--  - Assume that all C library dependencies are already installed.--  - Set Cabal flags from environment variables called-    C2HS_REGRESSION_FLAGS_<package> if these variables exist.---The idea is to test for regressions under well-controlled conditions-at each commit on Travis, but maintain the possibility of running the-regression suite locally as well.
− TODO
@@ -1,289 +0,0 @@-								     -*-text-*--                                C2HS TODO-                                =========--Next: - enum hooks should define cFromEnum/cToEnum as the default marshallers-       (see comment at GenBind.lookupDftMarshIn).--      - Especially with function hooks, it is not sufficient to emit line-	pragmas whenever a new CHS fragment starts.  As some hooks expand to-	multiple lines of Haskell code, we need to reemit the line number of-	the hook once for each line of Haskell generated from it.--      - Points raised by PeteG:-	* The initial comment put by c2hs shouldn't be put in the first line,-	  as this makes it difficult to add {-# OPTIONS #-} pragma to the .chs-	  file, as this pragma must be in the first line.--          The only sensible solution seems to be to copy the first line of the-          .chs file on top if it starts with the string "{-# OPTIONS".--      - Ian requests {#const SYM#} where SYM is a pre-preprocessor symbol to -        evaluate to the C value of SYM.  Main problem is that the value might-        be of various C types.--      - Tutorial--      - GenBind.setGet: How is it justified that `bitsPerField' is-        fixed to the size of `CInt'?  Does the C def guarantee-	that bitfields types are of the same size?--      Next Major feature to be added: structure marshalling.--      - the `hsverb' should be normalised with respect to white space and-        parenthesis --      - have an option to compute .chi dependencies; do this on a-        module-by-module basis generating many small depend files rather than-        one big one--      - Pending suggestions from Axel Simon:-	+ succ/pred definitions for enum hooks--      - marshalling of structs--      - We need to handle the time stamps of .chi files more carefully;-        otherwise, we often get lots of unnecessary re-runs of c2hs.--      - Conceptual problem with import hooks: Currently, everything imported-        from a .chi file by a binding module is also dumped into its own .chi-        file.  Is is not generally correct, but it would also not be correct-        to omit everything that has been imported.  The conceptually correct-        solution would be to dump an entry for a type into a .chi file if the-        corresponding Haskell type is exported by the binding module.  To-        achieve this, we would also need an export hook.  Moreover, we may-        import the same object from different modules, due to an implicit-        reexport at the moment.  Either eliminate those reexports, or we have-        the same problems as in Haskell to determine object identity.--      - c2hs has to properly process GNU C "aligned" attributes.  Otherwise,-        it's routine to calculate structure layout may deviate from that of-        the C compiler, which may lead to nasty bugs in bindings.--      - the use of get/set hooks with `class'ed newtypes is complicated, as-        the type doesn't match `Ptr a'; see, eg, `GtkCList.cListGetNoOfRows'--      - class methods should be able to get user-defined names (needed for-        GtkData.chs)--      - GenBind.mergePtrMap could be improved (see the comment)--      - {#enum ...#} should create an instance of Storable as follows:-	  instance Storable MyEnum where-	    sizeOf    _ = sizeOf    (undefined :: CInt)-	    alignment _ = alignment (undefined :: CInt)--	    peek p   = liftM cToEnum $ peek (castPtr p :: Ptr CInt)-	    poke p v = poke (castPtr p :: Ptr CInt) (cFromEnum v)--      - `GenBind.setGet' needs to take `C2HSConfig.bitfieldDirection' into-        account; otherwise, setting and getting of bitfields won't work on-        architectures where bitfields start at the MSB (rather than the LSB)--      - Vorschlag von Axel Krauth <krauth@infosun.fmi.uni-passau.de>:-        An option with which c2hs prints a list of all functions that have not-        been bound in a header file.  The Position info schould be sufficient-        to determine this.  Maybe also add {#ignore foo#}, which makes it not-        list a given identifier (for private functions listed in the header).-      - In `GdkGL.chs', the prefix is not properly removed from the-        constructors of `GdkGL.Configs'; same problem with-        `GdkEvents.EventType'-      - install the executable (c2hs and c2hs-config) with a version number-        suffix and make a symbolic link for the name without version number-        (makes installing multiple versions easier)-      - #define enum's (see below)-      - intro a safe flag (as opposite to unsafe, but make safe the default)-      - overload stdAddr etc for ForeignObj (stable ptr & cast)-      - C2HSMarsh: from qrczak@knm.org.pl (Marcin 'Qrczak' Kowalczyk)-	  mallocForeignObj:: Int -> IO ForeignObj     -- malloc + freeing finalizer-      - C2HSMarsh: -	  (!!!)   :: FromAddr a => Ptr a -> Int -> IO a-	  p !!! i  = do-		       v <- fixIO $ deref (p `plusAddr` sizeof v * i)-		       return v-          (Use in GdkColor, then)-	  Part of New FFI, so use that in GdkColor!-      - C2HSMarhs:-	for compound structures it is inconvenient that in a pointer-based-        out, an initial value is needed; thus-	  out   :: (Storable a, FromAddr a) => a -> Marsh a Addr-	  out x  = malloc x :> addrStd-	and this is also convenient-	  inp   :: ToAddr a => a -> Marsh () Addr-	  inp x  = stdAddr x :> free-        Axel also proposes this-	  byValue :: b -> Marsh () b-	  byValue x = use x :> forget-      - Axel suggests,-	  2b. Automatisches Marshalling von Strukturen.-	  Eigentlich müßte es doch möglich sein, automatisch Instanzen von-	  Storable für Strukturen zu erstellen. Falls man mal einen generische-	  Pointer hat, kann man ja mit der ... as ... Methode eigene-	  Marshalling Funktionen zur Verfügung stellen. Oder habe ich da etwas-	  grundsätzliches übersehen? --Short term-~~~~~~~~~~-* cpp directives on the very first line of the .chs file are ignored-  because the lexer looks for \n#  This is very confusing to users.--* The C99 spec says (sec. 6.7.2.1):--       [#4] Each  enumerated  type  shall  be  compatible  with  an-       integer     type.      The     choice     of     type     is-       implementation-defined   but   shall   be   capable   of-       representing  the  values  of  all  the   members   of   the-       enumeration. [...]--  Hence, c2hs has to be a bit more clever about determining the integral type-  used to represent an enum.--* The definition of `GenBind.HsObjectMap' doesn't take into account that in-  Haskell a single name can be used for both a type and a class.--* See FIXME at `GenBind.mergeMaps'.--* Explain the grabbing of cpp -I options from -cppopts= (aka -C) values better -  in the docu and add something like:--    I prefer that to giving an option to c2hs and passing it to-    cpp, because - as you say - you usually already have a-    variable with the cpp options in your makefile and this way-    you can easily reuse it.--* #define enums in C: siehe unten - scheinen aber wichtig--* In pointer hooks after a `->', we currently allow only type identifiers;-  other forms of Haskell types would be nice, too (especially, `()').--* A function prototype that uses a defined type on its left hand side may-  declare a function, while that is not obvious from the declaration itself-  (without also considering the `typedef').  This is not understood by-  `GenBind' so far.--* Why is a stable name an `unsigned long' in C land?  How about a `void *' and -  being able to get the `Addr' also in Haskell land?--* if in a binding file erroneously `t->m' is used instead of `t.m' and `t' is-  the tag of a struct, the error message just complains that there is no type-  object for called `t'; it would be more user friendly to report in addition-  that the tag `t' exists, but cannot be used in this expression--* Should it be possible to specify a calling convention in context hook?-  Isn't it a mitake to have explicit calling convention in the FFI?  Shouldn't -  that be adapted automatically depending on the target architecture?--* Sven: How about exporting Haskell functions (also dynamic export)?-  - callback registration function that explicitly have the type of the-    callback function (from which we might want to generate a foreign export-    dynamic). --* `mapM raise errs' in `lexC' increases the heap usage by a factor of _8_ when -  running the lexer alone on `gtkext.h' - probably because the whole analysis-  has to be completed before we can be sure to have no error (and this kills-  an interlocked produced/consumer scheme for the lexer and whatever function-  is consuming the tokens).--* sizeof and type hooks do only allow defined, but not basic types as-  arguments.  This is not a real problem as C2HS provides all the needed-  information to circumvent such usage, but it would still be more elegant to-  support basic types as arguments, too.--Middle term-~~~~~~~~~~~--* A hook {#const <C expr>#} would be nice (as in hsc2hs).  Unfortunately, it-  is not that easy to realise.  We need to parse the <C expr> in the binding-  module.  Moreover, the main value of this would be when the <C expr> is-  put into the C field together with `enum define' stuff, so that all-  pre-processor symbols in it are resolved.  However, this can easily give us-  C compiler errors.  A cheap way out would be {#const "C expr"#} to avoid-  parsing the C expression, but then we can get even more errors during-  compiling the C.--* C->HS might get a lot easier to use by providing as optional marshalling-  libraries modules that handle often occurring standard stuff like converting -  `time_t' to `CalendarTime' or handle sockets etc.  We would, then, probably-  like to have a matching Posix or so library.-------------- Pre-1.0 rewrite -----------------Problems:--* There are some implicit requirements on the position of binding hooks, which-  the tool doesn't really enforce: context must be first, context and enum may-  only occur where a toplevel definition is allowed. (This should be checked-  before `GenBind' is used.)  We can not really check that a hook is in a-  position where a toplevel definition is allowed (without analysing-  significant parts of the Haskell code), but we can at least guarantee that-  these hooks occur in column position 0.--* Sven: #define enums in C: Introduce (#enum define SomeEnum {...}#) hooks-  that collect `#define' symbols into an enumeration type; see also-  +haskell/4025.  One probem: If identifiers with the same lexeme as-  `SomeEnum' or the enum members are already defined in the C header, we might -  get conflicts.--  The problem of this approach is that if the macro expands to something that-  is not a constant expression C, we will get error messages from the-  preprocessor, which are strange to the user.--  Further idea, Michael's: extensible enums--  There are, however, a number of interesting options supported by gcc -E that-  might make alternative solutions to the problem feasible.--END of ----- Pre-1.0 rewrite -----------------* Do we like direct support for mapping complete structs (if they are-  sufficiently wellbehaved?) into Haskell data structures - both by generating-  the Haskell data type definitions and by generating a `cFrom<Struct>' and a-  `cTo<Struct>' routine.  The latter would be generated as a cascade of field-  hooks.  H/Direct's formal definition of structure marshalling might be-  helpful here.--* Support for evaluating constants is not complete yet.  In this context, it-  should probably also be checked, when there are two overlapping tags in an-  enum (this is allowed in C, but is problematic for marshaling). --* How about Hugs support?  Is it already possible with current Hugs?---Release Checklist-~~~~~~~~~~~~~~~~~--(1) In root of working directory,--      % make tar-c2hs--(2) Compile the resulting source distribution with latest ghc stable release:--      % tar xzf c2hs-x.y.z.tar.gz-      % cd c2hs-x.y.z-      % ./configure-      % make--(3) Install and regression testing:--    - Installation procedure--        % make install--    - Tests in build/ghc?/c2hs/tests/ directory--(4) Check documentation and add release notes--(5) Extended build test: build with older stable release of ghc and with the-    cvs version--(6) Register CVS tags for CTK and C->HS (syntax: Release-c2hs_x_y_z)--(7) Make newest `tar' and build rpm--(8) Put tar.gz and rpm sources and binaries up on Web page--(9) Optionally also release the current version of CTK--(10) Update the documentation under the Web page's docu/ directory--(11) Announce: haskell@haskell.org, freshmeat.net
− TODO.CTKlight
@@ -1,81 +0,0 @@-								     -*-text-*--			  Compiler Base TODO-			  ==================--Next: ---Short Term:-~~~~~~~~~~~-* See general/UNames.hs for nhc98 induced ugliness; change when nhc98 is fixed--* Lexers: For unicode `Char', we need to explicit support for positive and-  negated ranges such as ['\0'..'\255'] and ['\0'..'\255'] \\ ['a'..'c'],-  where the latter is usually written [^abc] (see the haskell-cafe-  discussion).--* Roman introduced the class `Printable'.  A general class based pretty-print-  system would be nice.--* Parsers: Roman had the idea of allowing boolean functions to disambiguate-  the parse table where two rules cannot be distinguished by the usual LL-  mechanism alone (see emails).--* Identifiers in any of the intermediate languages that have the same lexeme as-  a keyword or a predefined identifier should always been pretty-printed in-  their quoted form.--  Difficult to know for each IL which identifiers have to be treated specially.-  We need a kind of IL-dependent exception list.--Middle Term:-~~~~~~~~~~~~-* Use a different attribute mechanism.  The stuff started for the flatten-  prototype looks quite promising.  Observations:--  - Current hipar system with a unique in every node => makes it complicated-    to construct/transform trees, as we always have to clone subtress in a-    monad.-  - GHC's system => when attributes of an identifier are updated, the-    "new" identifiers have to substituted into all expression that contain-    usage occurences.--* Graph processing support: Does it need to be a new mechanism or can we-  realise it via Attrs (what kind of generic functions could we provide).  One-  possibility is the use of an `Bool' attribute used to implement fast sets-  (eg, marking).  (If there is a lot of marking, we might want to realise-  indexing with attributes via hashing to be able to work with sparse keys and -  to already have O(1) during attribute table construction.)--* `FiniteMap' should be an instance of `Functior' with `fmap = mapFM'--* configuration shouldn't be in--* FNameOps, FileOps: Introduce an autoconf set variable that determines-  whether "/" or "\" is used as a delimiter in paths--* Lexers: * After a certain number of errors (say 50); abort lexing.--* Parsers (maybe similar problem with Lexers): If the grammar is not LL(1), we -  just get an `ambiguous grammar' error message at runtime without any hint,-  which part of the grammer might be ambiguous.  This is too hard to debug!--* In the language-specific `XXXAttrs.hs' modules, the routines for handling -  the different on the attribute tables have always the same structure;  Only-  the access to the `AttrXXX' datatype is different.  It should be possible to-  generalize them.--  Moreover, the `referring identifier information' is always needed and might-  be generalized.--* The handling of state could be improved by revising the state modules and-  using constructor classes and monad transformers.--  Currently, we only define the state type abstractly when generating a new-  instance of `CST'.  This is in order to be able to use the generic-  operations, such as I/O, also in the monad instance.  But this comprises the -  security of the monad encapsulation as also the generic functions that allow -  to extract and copy the state can be used.  Ideally, we want to lift generic -  operations like I/O automagically into the new monad and to protect it from-  access to its state.  Furthermore, some support for stripping and attaching-  of the type-tag (intro with `newtype') would be nice.
c2hs.cabal view
@@ -1,5 +1,5 @@ Name:           c2hs-Version:        0.28.3+Version:        0.28.4 License:        GPL-2 License-File:   COPYING Copyright:      Copyright (c) 1999-2007 Manuel M T Chakravarty@@ -19,7 +19,7 @@                 correct Haskell types. Category:       Development Tested-With:    GHC==6.12.3, GHC==7.0.4, GHC==7.6.1, GHC==7.6.3, GHC==7.8.3, GHC==7.10.1-Cabal-Version:  >= 1.8+Cabal-Version:  >= 1.10 Build-Type:     Simple  --TODO: Cabal should allow 'Data-Files' in the executable stanza@@ -112,7 +112,7 @@ Executable c2hs     Build-Depends:  base >= 2 && < 5,                     bytestring,-                    language-c >= 0.7.1 && < 0.8,+                    language-c >= 0.7.1 && < 0.9,                     filepath,                     dlist @@ -150,10 +150,11 @@       System.CIO       Text.Lexers -    extensions:     ForeignFunctionInterface+    default-extensions:     ForeignFunctionInterface     c-sources:      src/C2HS/config.c     --TODO: eliminate the need to suppress these warnings:     ghc-options:    -Wall -fno-warn-incomplete-patterns -fwarn-tabs+    default-language: Haskell2010  Test-Suite test-bugs   type:                exitcode-stdio-1.0@@ -168,6 +169,7 @@                        shelly >= 1.0,                        text,                        transformers+  default-language: Haskell2010  Test-Suite test-system   type:                exitcode-stdio-1.0@@ -181,6 +183,7 @@                        shelly >= 1.0,                        text,                        transformers+  default-language: Haskell2010  Flag regression   description: Enable regression suite build.@@ -197,3 +200,4 @@                          yaml >= 0.8   else     buildable: False+  default-language: Haskell2010
− custom-setup.hs
@@ -1,92 +0,0 @@------ This Cabal setup script should ONLY be used in cases WHERE:------   the bare structure wrapper capability of C2HS is used (i.e. '%'---   characters on pointer type arguments in "fun" hooks);------ AND------   a version of Cabal is being used that does not allow---   preprocessors to specify extra C sources (versions of---   cabal-install <= 1.22.0.0).------ Otherwise Cabal should be able to deal with the extra C sources--- itself.------ If in doubt, ask...-----module Main (main) where--import Control.Exception (catch)-import Control.Monad (forM)--import Distribution.PackageDescription-    (BuildInfo(..), Executable(..), Library(..), PackageDescription(..))-import Distribution.Simple (UserHooks(..),-                            defaultMainWithHooks, simpleUserHooks)-import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..))-import Distribution.Simple.Setup (BuildFlags)--- Test-suites require Cabal-1.10 or greater-import Distribution.PackageDescription (TestSuite(..))--- Benchmarks require Cabal-1.14 or greater-import Distribution.PackageDescription (Benchmark(..))--import System.Directory (doesDirectoryExist, getDirectoryContents)-import System.Exit (ExitCode)-import System.FilePath ((</>), takeExtensions)--main :: IO ()-main = defaultMainWithHooks simpleUserHooks { buildHook = chsBuildHook }--addCSources :: [FilePath] -> BuildInfo -> BuildInfo-addCSources newSrcs bi@(BuildInfo { cSources = oldSrcs }) =-  bi { cSources = newSrcs ++ oldSrcs }--hasChsCExtension :: FilePath -> Bool-hasChsCExtension file = takeExtensions file == ".chs.c"--getRecursiveContents :: FilePath -> IO [FilePath]-getRecursiveContents topdir = do-    topdirExists <- doesDirectoryExist topdir-    if (not topdirExists)-       then return []-       else do-           names <- getDirectoryContents topdir-           let properNames = filter (`notElem` [".", ".."]) names-           paths <- forM properNames $ \name -> do-               let path = topdir </> name-               isDirectory <- doesDirectoryExist path-               if isDirectory-                  then getRecursiveContents path-                  else return [path]-           return (concat paths)--chsBuildHook :: PackageDescription -> LocalBuildInfo -> UserHooks ->-                BuildFlags -> IO ()-chsBuildHook pd lbi uh bf = hook `catchExitCode` \_ -> hook-  where-    hook :: IO ()-    hook = chsBuildHook' pd lbi uh bf--    catchExitCode :: IO a -> (ExitCode -> IO a) -> IO a-    catchExitCode = catch--chsBuildHook' :: PackageDescription -> LocalBuildInfo -> UserHooks ->-                 BuildFlags -> IO ()-chsBuildHook' pd@(PackageDescription-                   { library     = mbLib-                   , executables = exes-                   , testSuites  = tss-                   , benchmarks  = bms-                   })-             lbi uh bf = do-    let distBuildDir = buildDir lbi-    chsCFiles <- fmap (filter hasChsCExtension) $-                 getRecursiveContents distBuildDir-    let pd' = pd { library     = fmap (\lib -> lib { libBuildInfo       = addCSources chsCFiles (libBuildInfo lib)      }) mbLib-                 , executables = fmap (\exe -> exe { buildInfo          = addCSources chsCFiles (buildInfo exe)         }) exes-                 , testSuites  = fmap (\ts  -> ts  { testBuildInfo      = addCSources chsCFiles (testBuildInfo ts)      }) tss-                 , benchmarks  = fmap (\bm  -> bm  { benchmarkBuildInfo = addCSources chsCFiles (benchmarkBuildInfo bm) }) bms-                 }-    buildHook simpleUserHooks pd' lbi uh bf
− examples/libghttpHS/Ghttp.chs
@@ -1,326 +0,0 @@---  GhttpHS: Haskell binding to the Gnome HTTP library		  -*-haskell-*-------  Author : Manuel M. T. Chakravarty---  Created: 5 August 99------  Copyright (c) [1999..2000] Manuel M. T. Chakravarty------  This library is free software; you can redistribute it and/or---  modify it under the terms of the GNU Library General Public---  License as published by the Free Software Foundation; either---  version 2 of the License, or (at your option) any later version.------  This library is distributed in the hope that it will be useful,---  but WITHOUT ANY WARRANTY; without even the implied warranty of---  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU---  Library General Public License for more details.------- DESCRIPTION ---------------------------------------------------------------------  The C library `libghttp' provides a set of common http functions needed at ---  the client and the server end of an http connection.  The Haskell binding---  is generated with the help of the C->Haskell tool - always modify the---  original .chs file, _not_ the generated .hs file.------  This library is fully compliant with HTTP 1.1 as defined in the draft 5---  update of RFC 2068.  ------- DOCU ----------------------------------------------------------------------------  language: Haskell 98 & C->HS binding hooks (v0.7.5)------  ** Stylistic warning: In the definition of `CurrentStatus', the field---       labels do not contain the name of the data type to which they belong.---       This is _not_ good practice in larger interfaces, because in Haskell---       such field labels pollute the global name space.------- TODO ----------------------------------------------------------------------------  * When and by whom is the memory area passed to `ghttp_set_body' be freed; ---    how about the string returned from `ghttp_get_body'?------  * Conversion of `time_t' misses for `parseDate'.-----module Ghttp (Request, URI, Type(..), SyncMode(..), Status(..), Proc(..),-	      CurrentStatus(..),-	      requestNew, requestDestroy, uriValidate, setURI, setProxy,-	      setType, setBody, setSync, prepare, setChunksize, setHeader,-	      process, getStatus, getHeader, close, clean, getSocket, getBody, -	      getError, {-parseDate,-} setAuthinfo, setProxyAuthinfo)-where---- C->HS marshalling library----import C2HS--import Monad  (liftM, when)-import IOExts (unsafePerformIO)---{#context lib="libghttp" prefix="ghttp"#}----- data structures--- ------------------- abstract handle for a http request object (EXPORTED ABSTRACTLY)----newtype Request = Request Addr---- Uniform Resource Indicators (EXPORTED)----type URI = String---- body type (EXPORTED)----{#enum ghttp_type as Type {underscoreToCase}#}---- synchronous/asynchronous mode (EXPORTED)----{#enum sync_mode as SyncMode {underscoreToCase}#}---- request status (EXPORTED)----{#enum status as Status {underscoreToCase}#}---- describes the activity of a request (EXPORTED)----{#enum proc as Proc {underscoreToCase}#}---- status descriptor (EXPORTED)----data CurrentStatus = CurrentStatus {-		       proc       :: Proc,    -- What's it doing?-		       bytesRead  :: Int,     -- How many bytes have been read?-		       bytesTotal :: Int      -- How many bytes total?-		     }---- error types----invalidURI, illegalRequest :: String-invalidURI     = "Ghttp: The Uniform Resource Indicator is invalid."-illegalRequest = "Ghttp: The request is illegal or unsupported."----- functions--- ------------- create a new request object (EXPORTED)----requestNew :: IO Request-requestNew  = liftM Request {#call unsafe request_new#}---- delete a current request object (EXPORTED)----requestDestroy                :: Request -> IO ()-requestDestroy (Request reqa)  = {#call unsafe request_destroy#} reqa---- validate a uri (EXPORTED)----uriValidate     :: URI -> Bool-uriValidate uri  = -  let res = unsafePerformIO $-	     {#call unsafe uri_validate#} `marsh1_` (stdAddr uri :> free)-  in-  res == -1---- set a uri in a request (EXPORTED)------ * raise an exception if the URI is not valid----setURI                    :: Request -> URI -> IO ()-setURI (Request reqa) uri  = -  {#call unsafe set_uri#} reqa `marsh1_` (stdAddr uri :> free)-  `ifNegRaise_` invalidURI---- set a proxy for a request (EXPORTED)------ * raise an exception if the request is not valid----setProxy                    :: Request -> URI -> IO ()-setProxy (Request reqa) uri  = -  {#call unsafe set_proxy#} reqa `marsh1_` (stdAddr uri :> free)-  `ifNegRaise_` illegalRequest---- set a request type (EXPORTED)------ * raise an exception if the request is not valid----setType                      :: Request -> Type -> IO ()-setType (Request reqa) rtype  = -  {#call unsafe set_type#} reqa (cFromEnum rtype)-  `ifNegRaise_` illegalRequest---- set the body (EXPORTED)------ * raise an exception if the request is not valid----setBody                     :: Request -> String -> IO ()-setBody (Request reqa) body  =-  do-    (box, len) <- listToAddrWithLen body-    {#call unsafe set_body#} reqa box (cFromInt len)-      `ifNegRaise_` illegalRequest---- set whether or not you want to use sync or async mode (EXPORTED)------ * raise an exception if the request is not valid----setSync                      :: Request -> SyncMode -> IO ()-setSync (Request reqa) smode  =-  {#call unsafe set_sync#} reqa (cFromEnum smode)-  `ifNegRaise_` illegalRequest---- Prepare a request; call this before trying to process a request or if you--- change the uri (EXPORTED)------ * raise an exception if the request is not valid----prepare                :: Request -> IO ()-prepare (Request reqa)  =-  {#call unsafe prepare#} reqa-  `ifNegRaise_` illegalRequest---- set the chunk size; you might want to do this to optimize for different--- connection speeds (EXPORTED)----setChunksize			 :: Request -> Int -> IO ()-setChunksize (Request reqa) size  =-  {#call unsafe set_chunksize#} reqa (cFromInt size)---- set a random request header (EXPORTED)----setHeader                        :: Request -> String -> String -> IO ()-setHeader (Request reqa) hdr val  =-  {#call unsafe set_header#} reqa-    `marsh2_` (stdAddr hdr :> free)-    $         (stdAddr val :> free)---- process a request (EXPORTED)----process                :: Request -> IO Status-process (Request reqa)  = liftM cToEnum $ {#call unsafe process#} reqa---- get the status of a request (EXPORTED)----getStatus                :: Request -> IO CurrentStatus-getStatus (Request reqa)  =-  {#call unsafe ghttpHS_get_status #} reqa >>= cFromCurrentStatus---- get the value of a random response header (EXPORTED)----getHeader                    :: Request -> String -> IO String-getHeader (Request reqa) hdr  =-  {#call unsafe get_header#} reqa `marsh1_` (stdAddr hdr :> free)-  >>= addrStd---- abort a currently running request (EXPORTED)------ * raise an exception if the request is not valid----close                :: Request -> IO ()-close (Request reqa)  = {#call unsafe close#} reqa-			`ifNegRaise_` illegalRequest---- clean a request (EXPORTED)----clean                :: Request -> IO ()-clean (Request reqa)  = {#call unsafe clean#} reqa---- get the socket associated with a particular connection (EXPORTED)------ * raise an exception if the request is not valid----getSocket                :: Request -> IO Int-getSocket (Request reqa)  = {#call unsafe get_socket#} reqa-			    `ifNegRaise` illegalRequest---- get the return entity body (EXPORTED)------ * this includes getting the length with `ghttp_get_body_len', as the string ---   is not necessarily \0 terminated----getBody                :: Request -> IO String-getBody (Request reqa)  = -  do-    bodyAddr <- {#call unsafe get_body#} reqa-		`ifNullRaise` illegalRequest-    bodyLen  <- {#call unsafe get_body_len#} reqa-    addrWithLenToList bodyAddr (cToInt bodyLen)---- get an error message for a request that has failed (EXPORTED)----getError :: Request -> IO String-getError (Request reqa)  = -  {#call unsafe get_error#} reqa >>= addrStd---- parse a date string that is one of the standard date formats (EXPORTED)----{-parseDate     :: String -> CalendarTime-parseDate str  = -  do-    time_t <- {#call unsafe parse_date#} `fromString` str-    time <- toCalendarTime- -}---- return the status code (EXPORTED)----statusCode                :: Request -> IO Int-statusCode (Request reqa)  = -  liftM cToInt $ {#call unsafe status_code#} reqa---- return the reason phrase (EXPORTED)------ * raise an exception if the request is not valid----reasonPhrase                :: Request -> IO String-reasonPhrase (Request reqa)  = -  ({#call unsafe reason_phrase#} reqa-   `ifNullRaise` illegalRequest-  ) >>= addrStd---- set your username/password pair (EXPORTED)------ * raise an exception if the request is not valid----setAuthinfo                          :: Request -> String -> String -> IO ()-setAuthinfo (Request reqa) user pass  =-  ({#call unsafe set_authinfo#} reqa -     `marsh2_` (stdAddr user :> free)-     $         (stdAddr pass :> free)-  )-  `ifNegRaise_` illegalRequest---- set your username/password pair for proxy (EXPORTED)------ * raise an exception if the request is not valid----setProxyAuthinfo  :: Request -> String -> String -> IO ()-setProxyAuthinfo (Request reqa) user pass =-  ({#call unsafe set_proxy_authinfo#} reqa -     `marsh2_` (stdAddr user :> free)-     $         (stdAddr pass :> free)-  )-  `ifNegRaise_` illegalRequest----- auxilliary marshalling function--- ----------------------------------- marshal the elements of a `ghttp_current_status' struct to Haskell land------ * frees the C struct----cFromCurrentStatus       :: Addr -> IO CurrentStatus-cFromCurrentStatus csPtr  = -  do-    proc <- liftM cToEnum$ {#get current_status.proc#}        csPtr-    read <- liftM cToInt $ {#get current_status.bytes_read#}  csPtr-    total<- liftM cToInt $ {#get current_status.bytes_total#} csPtr-    free csPtr-    return $ CurrentStatus {-	       proc       = proc,-	       bytesRead  = read,-	       bytesTotal = total-	     }
− examples/libghttpHS/Makefile
@@ -1,46 +0,0 @@-#  GnomeHaskell bindings: Gnome HTTP library-#-#  Author : Manuel M. T. Chakravarty-#  Created: 8 October 1999-#-#  Copyright (c) 1999 Manuel M. T. Chakravarty-#-#  This file is free software; you can redistribute it and/or modify-#  it under the terms of the GNU General Public License as published by-#  the Free Software Foundation; either version 2 of the License, or-#  (at your option) any later version.-#-#  This file is distributed in the hope that it will be useful,-#  but WITHOUT ANY WARRANTY; without even the implied warranty of-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the-#  GNU General Public License for more details.-#-#  = DOCU =====================================================================-#-#  = TODO =====================================================================-#-#  * Let configure do the dirty work; how about automake--# the commented out variants are to be used if the directory is moved out of -# the C->HS source tree-#-GHC=ghc-#C2HS=c2hs-C2HS=../../c2hs-GHTTP_HEADER=ghttpHS.h-#HCFLAGS=`c2hs-config --cflags`-HCFLAGS=-i../../lib -fglasgow-exts--OBJS=Ghttp.o ghttpHS.o--Ghttp.hs: Ghttp.chs ghttpHS.h-	$(C2HS) $(GHTTP_HEADER) Ghttp.chs--Ghttp.o: Ghttp.hs ghttpHS.h-	$(GHC) '-#include"ghttpHS.h"' $(HCFLAGS) -c $<--ghttpHS.o: ghttpHS.h ghttpHS.c--libghttpHS.a: $(OBJS)-	-$(RM) $@-	$(AR) -crs $@ $(OBJS)
− examples/libghttpHS/ghttpHS.c
@@ -1,22 +0,0 @@-/* Auxiliary C code for Ghttp.- *- * Copyright (c) 1999 Manuel M. T. Chakravarty- *- * This is required due to the inability of GHC's FFI to pass structures from C- * to Haskell.- */--#include "ghttpHS.h"--ghttp_current_status *ghttpHS_get_status (ghttp_request *a_request)-{-  ghttp_current_status *status;--  status = (ghttp_current_status *) malloc (sizeof (ghttp_current_status));-  if (!status) {-    printf ("Ghttp: ghttpHS_get_status: Out of memory!");-    exit (1);-  }-  *status = ghttp_get_status (a_request);-  return status;-}
− examples/libghttpHS/ghttpHS.h
@@ -1,21 +0,0 @@-/* Auxiliary C code for Ghttp.- *- * Copyright (c) 1999 Manuel M. T. Chakravarty- *- * This is required due to the inability of GHC's FFI to pass structures from C- * to Haskell.- */--#ifndef __GHTTPHS_H__-#define __GHTTPHS_H__---#include <ghttp.h>--/* returns a reference to a newly allocated memory area holding the result of - * the corresponding vanilla `libghttp' function- */-ghttp_current_status *ghttpHS_get_status (ghttp_request *a_request);---#endif /* __GHTTPHS_H__ */
− import-handling.md
@@ -1,104 +0,0 @@-## Potentially breaking changes: import handling--#### The problem--Previous releases of C2HS had an annoying misfeature -- you had to-manage the imports of Haskell library functions in C2HS-generated code-yourself.  Suppose you had the following code in a `.chs` file:--``` haskell-#include "issue44.h"--{#pointer *foo as ^ foreign newtype#}-```--where the contents of the `issue44.h` header are:--``` c-typedef struct { int a; } foo;-```--Running C2HS would then generate the following Haskell code:--``` haskell-newtype Foo = Foo (ForeignPtr (Foo))-withFoo :: Foo -> (Ptr Foo -> IO b) -> IO b-withFoo (Foo fptr) = withForeignPtr fptr-```--Note the use of the names `ForeignPtr`, `Ptr` and `withForeignPtr`.-These come from the Haskell library modules `Foreign.Ptr` and-`Foreign.ForeignPtr`, but C2HS didn't generate any `import`-declarations to make these modules accessible.  This meant that there-would normally be a bit of back and forth when writing C2HS code:-write your bindings, run C2HS, try compiling with GHC, have the-compile fail because of missing imports, add the imports to your-`.chs` file and repeat.  Kind of annoying.--As well as being annoying, the lack of import declaration generation-meant that it was sometimes impossible to make internal changes to the-way that C2HS binds to C functions without breaking existing user-code.  The example that finally drove me to try to fix this was issue-130 (https://github.com/haskell/c2hs/issues/130) that required a-change that would lead to most C2HS code now needing to import-`unsafePerformIO`.  It didn't seem like a good idea to push a change-like that (that would break more or less all C2HS code out there!)-without fixing the import problem (so that the change for issue #130-could happen transparently to all existing working C2HS code).---#### The solution--The solution I ended up with is pretty simple, but I think it's-robust.  For the example above, C2HS now generates the following-Haskell code:--``` haskell-import qualified Foreign.ForeignPtr as C2HSImp-import qualified Foreign.Ptr as C2HSImp--newtype Foo = Foo (C2HSImp.ForeignPtr (Foo))-withFoo :: Foo -> (C2HSImp.Ptr Foo -> IO b) -> IO b-withFoo (Foo fptr) = C2HSImp.withForeignPtr fptr-```--All library symbols needed to generate Haskell binding code are now-qualified under the name `C2HSImp` and the relevant library modules-are imported qualified as `C2HSImp`.--The end result of this is that you still need to import modules only-for names that you explicitly use (so if you use `alloca` in an input-marshaller, you need to import `Foreign.Marshal.Alloc`).  All external-names that C2HS uses in code that it generates should be imported-automatically.---#### Potential complaints--1. Modules compiled with `-Werror` may now fail because of unused-   import warnings.  This was something I had to deal with for most of-   the C2HS test cases (since they all imported the required library-   modules and they're mostly compiled with `-Werror`), but since the-   community consensus seems to be that `-Werror` shouldn't be used in-   released code, I think it's reasonable to allow the possibility of-   this kind of breakage.--2. It's possible that the code I wrote for deciding where to put the-   extra import declarations isn't quite perfect.  I tried a couple of-   different solutions, but ended up with a hand-made "find the first-   safe place to add imports" function that relies quite heavily on-   the details of C2HS's CHS file parser.  I did try a solution based-   on `haskell-src-exts`, but this didn't work very well, because-   `haskell-src-exts` doesn't support all available GHC extensions and-   I would have needed some mechanism to propagate extension-   information from Cabal files to C2HS to make the parsing work.--These changes have been tested reasonably extensively -- all of the-core C2HS tests pass, and the following packages are known to work-(they're all in the regression suite): abcBridge, alsa-mixer, cuda,-cufft, gnome-keyring, gnuidn, haskell-mpi, hnetcdf, hpuz, hsndfile,-hsshellscript, igraph, libssh2.--I'll be adding more packages to the regression suite, but if there's a-package you're particularly concerned about that's not on this list,-let me know.
− regression-suite-vm/Vagrantfile
@@ -1,9 +0,0 @@-Vagrant.configure("2") do |config|-  config.vm.box = "c2hs-regression-suite.box"--  config.vm.provider :virtualbox do |vb|-    vb.gui = false-    vb.customize ["modifyvm", :id, "--memory", "2048"]-    vb.customize ["modifyvm", :id, "--cpus", "2"]-  end-end
− regression-suite-vm/Vagrantfile-full
@@ -1,84 +0,0 @@-$script = <<SCRIPT--set -e--# Initial APT package installation--sed -i -e 's/us.archive.ubuntu.com/gb.archive.ubuntu.com/g' /etc/apt/sources.list-sed -i -e '/trusty multiverse/s/^# //' -e '/trusty-updates multiverse/s/^# //' /etc/apt/sources.list--apt-get update-apt-get install -y python-pip-pip install awscli--mkdir cuda-packages-aws s3 sync s3://cuda-packages ./cuda-packages-dpkg -i ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb-/bin/rm ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb-mv ./cuda-packages/*.deb /var/cache/apt/archives-/bin/rm -fr ./cuda-packages--apt-add-repository -y ppa:igraph/ppa-apt-get update--PACKAGES="alex build-essential git happy libatlas-base-dev libgmp-dev-          liblapack-dev libnetcdf-dev unzip zlib1g-dev libopencv-dev-          libcv-dev libhighgui-dev libgnome-keyring-dev libgsl0-dev-          libsndfile1-dev libqtscript4-core libqt4-declarative-          libigraph0-dev acpid consolekit dkms lib32gcc1 libc-bin-          libc-dev-bin libc6 libc6-dev libc6-i386 libck-connector0-          libpam-ck-connector libpolkit-agent-1-0-          libpolkit-backend-1-0 libpolkit-gobject-1-0 libvdpau1-          libxmu-dev libxmu-headers policykit-1 policykit-1-gnome-          python-xkit screen-resolution-extra cuda libasound2-dev-          libidn11-dev libopenmpi-dev libssh2-1-dev"--apt-get install -y $PACKAGES--cd /usr/lib/x86_64-linux-gnu-ln -s libgmp.so.10 libgmp.so.3-cd /root---# GHC and Cabal installation-wget https://www.haskell.org/ghc/dist/7.8.3/ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz-tar xJf ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz-cd ghc-7.8.3-./configure-make install-cd ..-/bin/rm -fr ghc-7.8.3*--wget https://www.haskell.org/cabal/release/cabal-install-1.20.0.3/cabal-install-1.20.0.3.tar.gz-tar xzf cabal-install-1.20.0.3.tar.gz-cd cabal-install-1.20.0.3-./bootstrap.sh-cd ..-/bin/rm -fr cabal-install-1.20.0.3*--if [ ! -f /usr/bin/cabal-1.20 ]; then-   cp /root/.cabal/bin/cabal /usr/bin/cabal-1.20-   (cd /usr/bin/ && rm -rf cabal && ln -s cabal-1.20 cabal)-fi--echo "export PATH=\$HOME/.cabal/bin:\$PATH" >> /etc/bash.bashrc-echo "export PATH=/usr/local/cuda-6.5/bin:\$PATH" >> /etc/bash.bashrc--su vagrant -c 'cabal update'--SCRIPT--Vagrant.configure("2") do |config|-  config.vm.box = "trusty-server-cloudimg-amd64-vagrant-disk1.box"-  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"--  config.vm.synced_folder "..", "/home/vagrant/c2hs"--  config.vm.provider :virtualbox do |vb|-    vb.gui = false-    vb.customize ["modifyvm", :id, "--memory", "2048"]-    vb.customize ["modifyvm", :id, "--cpus", "2"]-  end--  config.vm.provision "shell", inline: $script-end
− regression-suite-vm/run-regression
@@ -1,20 +0,0 @@-#!/bin/bash--branch=${1:-master}--vagrant up-vagrant ssh <<EOF-/bin/rm -fr c2hs-export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH-git clone https://github.com/haskell/c2hs.git-cd c2hs-git checkout $branch-cabal update-cabal install --only-dep --enable-tests -fregression-cabal install-cabal configure --enable-tests -fregression-cabal build && cabal test-export C2HS_REGRESSION_SUITE=1-./dist/build/regression-suite/regression-suite-EOF-vagrant destroy -f
src/C2HS/Gen/Bind.hs view
@@ -112,13 +112,15 @@  -- standard libraries import Data.Char     (toLower, isSpace)+import Data.List     (stripPrefix) import Data.Function (on) import Data.IORef    (IORef, newIORef, readIORef, writeIORef) import System.IO.Unsafe (unsafePerformIO) import System.IO     (withFile, hPutStrLn, IOMode(..)) import System.Exit   (ExitCode(..)) import System.Directory (removeFile)-import System.Process (readProcessWithExitCode, system)+import System.FilePath (isPathSeparator)+import System.Process (readProcessWithExitCode, rawSystem) import Data.List     (deleteBy, groupBy, sortBy, intersperse, find, nubBy,                       intercalate, isPrefixOf, isInfixOf, foldl') import Data.Map      (lookup)@@ -3049,7 +3051,8 @@     hPutStrLn h "#include <stdio.h>"     hPutStrLn h $ "int main(int argc, char *argv[]) " ++       "{ printf(\"%u\\n\", sizeof(_Bool)); return 0; }"-  gcccode <- system $ cCompiler ++ " -o c2hs__bool_size c2hs__bool_size.c"++  gcccode <- rawSystem cCompiler ["-o", "c2hs__bool_size", "c2hs__bool_size.c"]   when (gcccode /= ExitSuccess) $     error "Failed to compile 'bool' size test program!"   (code, stdout, _) <- readProcessWithExitCode "./c2hs__bool_size" [] ""@@ -3057,7 +3060,11 @@     error "Failed to run 'bool' size test program!"   let sz = read stdout :: Int   removeFile "c2hs__bool_size.c"+#if defined(mingw32_HOST_OS)+  removeFile "c2hs__bool_size.exe"+#else   removeFile "c2hs__bool_size"+#endif   return sz  cBoolSize :: Int@@ -3084,8 +3091,21 @@       when (code /= ExitSuccess) $         error "Failed to determine C compiler from 'ghc --info'!"       let vals = read stdout :: [(String, String)]-      case Prelude.lookup "C compiler command" vals of-        Nothing -> error "Failed to determine C compiler from 'ghc --info'!"-        Just cc -> do-          writeIORef cCompilerRef $ Just cc-          return cc+      case (Prelude.lookup "C compiler command" vals, Prelude.lookup "LibDir" vals) of+        (Just cc, Just topDir) -> do+          -- ensure that $topdir is expanded+          let mungedCc = mungePath topDir cc+          writeIORef cCompilerRef $ Just mungedCc+          return mungedCc+        _ -> error "Failed to determine C compiler from 'ghc --info'!" ++  where+    -- adapted from ghc/compiler/main/Packages.hs+    mungePath topDir p+      | Just p' <- stripVarPrefix "$topdir" p = topDir ++ p'+      | otherwise                             = p++    stripVarPrefix var path = case stripPrefix var path of+      Just [] -> Just []+      Just cs@(c : _) | isPathSeparator c -> Just cs+      _ -> Nothing
− tests/bugs/issue-192/Issue192.chs
@@ -1,3 +0,0 @@-module Issue192 where--#include "issue-192.h"
− tests/bugs/issue-192/issue-192.h
@@ -1,2 +0,0 @@-extern int __fpclassifyf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__))-  __attribute__ ((__const__));
− tests/bugs/issue-37/Issue37.chs
@@ -1,17 +0,0 @@-module Main where--import Foreign-import Foreign.C--#include "issue37.h"--{#fun f1 {`Int'} -> `Int'#}--{#fun f2 {`Float'} -> `Float'#}--main :: IO ()-main = do-  tst1 <- f1 7-  tst2 <- f2 23-  putStrLn $ if tst1 == 14 then "SAME" else "DIFF"-  putStrLn $ if tst2 == 69 then "SAME" else "DIFF"
− tests/bugs/issue-37/issue37.c
@@ -1,12 +0,0 @@-#include "issue37.h"--int f1(int *np)-{-  return *np * 2;-}---float f2(float *np)-{-  return *np * 3;-}
− tests/bugs/issue-37/issue37.h
@@ -1,2 +0,0 @@-int f1(int *np);-float f2(float *np);
− tests/bugs/issue-82/include/Availability.h
@@ -1,145 +0,0 @@-/*- * Copyright (c) 2007-2009 by Apple Inc.. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */- -#ifndef __AVAILABILITY__-#define __AVAILABILITY__- /*     -    These macros are for use in OS header files. They enable function prototypes-    and Objective-C methods to be tagged with the OS version in which they-    were first available; and, if applicable, the OS version in which they -    became deprecated.  -     -    The desktop Mac OS X and the iPhone OS X each have different version numbers.-    The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop-    and phone OS version numbers.  For instance:-        __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)-    means the function/method was first available on Mac OS X 10.2 on the desktop-    and first available in OS X 2.0 on the iPhone.-    -    If a function is available on one platform, but not the other a _NA (not-    applicable) parameter is used.  For instance:-            __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)-    means that the function/method was first available on Mac OS X 10.3, and it-    currently not implemented on the iPhone.--    At some point, a function/method may be deprecated.  That means Apple-    recommends applications stop using the function, either because there is a -    better replacement or the functionality is being phased out.  Deprecated-    functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()-    macro which specifies the OS version where the function became available-    as well as the OS version in which it became deprecated.  For instance:-        __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)-    means that the function/method was introduced in Mac OS X 10.0, then-    became deprecated beginning in Mac OS X 10.5.  On the iPhone the function -    has never been availlable.  -    -    For these macros to function properly, a program must specify the OS version range -    it is targeting.  The min OS version is specified as an option to the compiler:-    -mmacosx-version-min=10.x when building for Mac OS X, and -miphone-version-min=1.x.x-    when building for the iPhone.  The upper bound for the OS version is rarely needed,-    but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10xx for-    Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = 1xxx for iPhone.  -    -    Examples:--        A function available in Mac OS X 10.5 and later, but not on the phone:-        -            extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);---        An Objective-C method in Mac OS X 10.5 and later, but not on the phone:-        -            @interface MyClass : NSObject-            -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);-            @end--        -        An enum available on the phone in 2.1 and later, but not available on Mac OS X:-        -            #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100-                enum { myEnum = 1 };-            #endif-        Note: this works when targeting the Mac OS X platform because -        __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero, -        so test becomes #if 0 >= 20100 which is false.  Also, we use-        20100 instead of __IPHONE_2_1 to be safe.  The __IPHONE_2_1 macro did not-        exist in <Availability.h> prior to the 2.1 SDK.  So, if somehow this -        conditional was used with an earilier SDK, it would evaluate incorrectly.---    It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one-    source base that can be compiled to target a range of OS versions.  It is best-    to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.-    That is because you might get compiled on an old OS that does not define a later-    OS version macro, and in the C preprocessor undefined values evaluate to zero-    in expresssions, which could cause the #if expression to evaluate in an unexpected-    way.-    -        #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED-            // code only compiled when targeting Mac OS X and not iPhone-            // note use of 1050 instead of __MAC_10_5-            #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050-                // code in here might run on pre-Leopard OS-            #else-                // code here can assume Leopard or later-            #endif-        #endif---*/--#define __MAC_10_0      1000-#define __MAC_10_1      1010-#define __MAC_10_2      1020-#define __MAC_10_3      1030-#define __MAC_10_4      1040-#define __MAC_10_5      1050-#define __MAC_10_6      1060-#define __MAC_NA        9999   /* not available */--#define __IPHONE_2_0     20000  -#define __IPHONE_2_1     20100  -#define __IPHONE_2_2     20200  -#define __IPHONE_3_0     30000  -#define __IPHONE_NA      99999  /* not available */--#include <AvailabilityInternal.h>---#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone) __AVAILABILITY_INTERNAL##_iphone-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) \-                                                    __AVAILABILITY_INTERNAL##_iphoneIntro##_DEP##_iphoneDep--#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED)-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone) __AVAILABILITY_INTERNAL##_mac-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) \-                                                    __AVAILABILITY_INTERNAL##_macIntro##_DEP##_macDep--#else-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone)-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) -#endif---#endif /* __AVAILABILITY__ */
− tests/bugs/issue-82/include/AvailabilityInternal.h
@@ -1,273 +0,0 @@-/*- * Copyright (c) 2007-2009 by Apple Inc.. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */--/*-    File:       AvailabilityInternal.h- -    Contains:   implementation details of __OSX_AVAILABLE_* macros from <Availability.h>--*/-#ifndef __AVAILABILITY_INTERNAL__-#define __AVAILABILITY_INTERNAL__---/* if we want to support some compiler that does not support these-   attributes, we can test for the compiler version before defining these */-#define __AVAILABILITY_INTERNAL_DEPRECATED         __attribute__((deprecated,visibility("default")))-#define __AVAILABILITY_INTERNAL_UNAVAILABLE        __attribute__((unavailable,visibility("default")))-#define __AVAILABILITY_INTERNAL_WEAK_IMPORT        __attribute__((weak_import,visibility("default")))-#define __AVAILABILITY_INTERNAL_REGULAR            __attribute__((visibility("default")))---#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED-    #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-        /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */-        #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-    #endif-#endif---#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED-    /* make sure a default max version is set */-    #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED-        #define __IPHONE_OS_VERSION_MAX_ALLOWED     __IPHONE_3_0-    #endif-    /* make sure a valid min is set */-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0-        #undef __IPHONE_OS_VERSION_MIN_REQUIRED-        #define __IPHONE_OS_VERSION_MIN_REQUIRED    __IPHONE_2_0 -    #endif-    -    /* set up internal macros (up to 2.0) */-     #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_0-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_0-    #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0    __AVAILABILITY_INTERNAL_DEPRECATED-    /* set up internal macros (up to 2.1) */-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_1-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_1-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_REGULAR  -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED-    #endif-    /* set up internal macros (up to 2.2) */-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_2-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_2-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR  -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR    -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED-    #endif-    /* set up internal macros (up to 3.0) */-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_3_0-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_3_0-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR    -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   -        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED-    #endif-    /* set up internal macros (n/a) */-    #define __AVAILABILITY_INTERNAL__IPHONE_NA                     __AVAILABILITY_INTERNAL_UNAVAILABLE -    #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA      __AVAILABILITY_INTERNAL_UNAVAILABLE-    -#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)-    /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */-    #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-    /* make sure a default max version is set */-    #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED-        #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_10_6-    #endif--    /* set up internal macros */-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_6-        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6-        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else    -        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_5-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_5-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_4-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_4-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_3-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_3-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else   -        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_UNAVAILABLE-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_WEAK_IMPORT-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_REGULAR-    #endif-    #define __AVAILABILITY_INTERNAL__MAC_NA             __AVAILABILITY_INTERNAL_UNAVAILABLE-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL__MAC_10_0-    #endif-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_1-    #endif-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_3-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_2-    #endif-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_4-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_3-    #endif-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_5-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_3-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_4-    #endif-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_6-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-        #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED-    #else-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_0-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_1-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_2-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_3-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_4-        #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_5-    #endif-    #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_0-    #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_1-    #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_2-    #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_3-    #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_4-    #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_5-    #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_6-    #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA               __AVAILABILITY_INTERNAL_UNAVAILABLE--#endif--#endif /* __AVAILABILITY_INTERNAL__ */
− tests/bugs/issue-82/include/TargetConditionals.h
@@ -1,108 +0,0 @@-/*- * Copyright (c) 2000-2008 by Apple Inc.. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */- -/*-     File:       TargetConditionals.h- -     Contains:   Autoconfiguration of TARGET_ conditionals for Mac OS X and iPhone-     -                 Note:  TargetConditionals.h in 3.4 Universal Interfaces works-                        with all compilers.  This header only recognizes compilers-                        known to run on Mac OS X.-  -*/--#ifndef __TARGETCONDITIONALS__-#define __TARGETCONDITIONALS__-/****************************************************************************************************--    TARGET_CPU_*    -    These conditionals specify which microprocessor instruction set is being-    generated.  At most one of these is true, the rest are false.--        TARGET_CPU_PPC          - Compiler is generating PowerPC instructions for 32-bit mode-        TARGET_CPU_PPC64        - Compiler is generating PowerPC instructions for 64-bit mode-        TARGET_CPU_68K          - Compiler is generating 680x0 instructions-        TARGET_CPU_X86          - Compiler is generating x86 instructions-        TARGET_CPU_ARM          - Compiler is generating ARM instructions-        TARGET_CPU_MIPS         - Compiler is generating MIPS instructions-        TARGET_CPU_SPARC        - Compiler is generating Sparc instructions-        TARGET_CPU_ALPHA        - Compiler is generating Dec Alpha instructions---    TARGET_OS_* -    These conditionals specify in which Operating System the generated code will-    run. The MAC/WIN32/UNIX conditionals are mutually exclusive.  The EMBEDDED/IPHONE -	conditionals are variants of TARGET_OS_MAC. --        TARGET_OS_MAC           - Generate code will run under Mac OS-        TARGET_OS_WIN32         - Generate code will run under 32-bit Windows-        TARGET_OS_UNIX          - Generate code will run under some non Mac OS X unix -        TARGET_OS_EMBEDDED      - Generate code will run under an embedded OS variant-                                  of TARGET_OS_MAC-        TARGET_OS_IPHONE        - Generate code will run under iPhone OS which -                                  is a variant of TARGET_OS_MAC.--    TARGET_RT_* -    These conditionals specify in which runtime the generated code will-    run. This is needed when the OS and CPU support more than one runtime-    (e.g. Mac OS X supports CFM and mach-o).--        TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers-        TARGET_RT_BIG_ENDIAN    - Generated code uses big endian format for integers    -        TARGET_RT_64_BIT        - Generated code uses 64-bit pointers    -        TARGET_RT_MAC_CFM       - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used-        TARGET_RT_MAC_MACHO     - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used---    TARGET_IPHONE_SIMULATOR     - Generate code for running under iPhone Simulator-        --****************************************************************************************************/---/*- *    gcc based compiler used on Mac OS X- */-#define TARGET_OS_MAC               1-#define TARGET_OS_WIN32             0-#define TARGET_OS_UNIX              0-#define TARGET_OS_EMBEDDED          0-#define TARGET_OS_IPHONE            0-#define TARGET_IPHONE_SIMULATOR     0-#define TARGET_CPU_PPC          0-#define TARGET_CPU_PPC64        0-#define TARGET_CPU_68K          0-#define TARGET_CPU_X86          0-#define TARGET_CPU_X86_64       1-#define TARGET_CPU_ARM          0-#define TARGET_CPU_MIPS         0-#define TARGET_CPU_SPARC        0-#define TARGET_CPU_ALPHA        0-#define TARGET_RT_MAC_CFM       0-#define TARGET_RT_MAC_MACHO     1-#define TARGET_RT_LITTLE_ENDIAN 1-#define TARGET_RT_BIG_ENDIAN    0-#define TARGET_RT_64_BIT        1--#endif  /* __TARGETCONDITIONALS__ */
− tests/bugs/issue-82/include/_types.h
@@ -1,68 +0,0 @@-/*- * Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */--#ifndef __TYPES_H_-#define __TYPES_H_--/*#include <sys/_types.h>*/--#if __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7-#define __strfmonlike(fmtarg, firstvararg) \-		__attribute__((__format__ (__strfmon__, fmtarg, firstvararg)))-#define __strftimelike(fmtarg) \-		__attribute__((__format__ (__strftime__, fmtarg, 0)))-#else-#define __strfmonlike(fmtarg, firstvararg)-#define __strftimelike(fmtarg)-#endif--/*typedef	int		__darwin_nl_item;*/-/*typedef	int		__darwin_wctrans_t;*/-#ifdef __LP64__-/*typedef	__uint32_t	__darwin_wctype_t;*/-#else /* !__LP64__ */-/*typedef	unsigned long	__darwin_wctype_t;*/-#endif /* __LP64__ */--#ifdef __WCHAR_MAX__-#define __DARWIN_WCHAR_MAX	__WCHAR_MAX__-#else /* ! __WCHAR_MAX__ */-#define __DARWIN_WCHAR_MAX	0x7fffffff-#endif /* __WCHAR_MAX__ */--#if __DARWIN_WCHAR_MAX > 0xffffU-#define __DARWIN_WCHAR_MIN	(-0x7fffffff - 1)-#else-#define __DARWIN_WCHAR_MIN	0-#endif-#define	__DARWIN_WEOF 	((__darwin_wint_t)-1)--#ifndef _FORTIFY_SOURCE-#  if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1050)-#    define _FORTIFY_SOURCE 0-#  else-#    define _FORTIFY_SOURCE 2	/* on by default */-#  endif-#endif--#endif /* __TYPES_H_ */
− tests/bugs/issue-82/include/secure/_common.h
@@ -1,41 +0,0 @@-/*- * Copyright (c) 2007, 2008 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- *- * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- *- * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- *- * @APPLE_LICENSE_HEADER_END@- */--#ifndef _SECURE__COMMON_H_-#define _SECURE__COMMON_H_--#undef _USE_FORTIFY_LEVEL-#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0-#  if _FORTIFY_SOURCE > 1-#    define _USE_FORTIFY_LEVEL 2-#  else-#    define _USE_FORTIFY_LEVEL 1-#  endif-#else-#  define _USE_FORTIFY_LEVEL 0-#endif--#define __darwin_obsz0(object) __builtin_object_size (object, 0)-#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)--#endif
− tests/bugs/issue-82/include/secure/_string.h
@@ -1,144 +0,0 @@-/*- * Copyright (c) 2007 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- *- * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- *- * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- *- * @APPLE_LICENSE_HEADER_END@- */--#ifndef _STRING_H_-# error "Never use <secure/_string.h> directly; include <string.h> instead."-#endif--#ifndef _SECURE__STRING_H_-#define _SECURE__STRING_H_--#include <Availability.h>-#include <sys/cdefs.h>-#include <secure/_common.h>--#if _USE_FORTIFY_LEVEL > 0--#ifndef __has_builtin-#define _undef__has_builtin-#define __has_builtin(x) 0-#endif--/* <rdar://problem/12622659> */-#if defined(__clang__) && \-    ((defined(__apple_build_version__) && __apple_build_version__ >= 4260006) || \-     (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))-#define __HAS_FIXED_CHK_PROTOTYPES 1-#else-#define __HAS_FIXED_CHK_PROTOTYPES 0-#endif--/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,-   strncpy, stpncpy, strcat, strlcat, and strncat */--#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090-#if __has_builtin(__builtin___memccpy_chk) && __HAS_FIXED_CHK_PROTOTYPES-#undef memccpy-#define memccpy(dest, src, c, len)                                  \-  __builtin___memccpy_chk (dest, src, c, len, __darwin_obsz0 (dest))-#endif-#endif--#if __has_builtin(__builtin___memcpy_chk) || defined(__GNUC__)-#undef memcpy-#define memcpy(dest, src, len)					\-  __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))-#endif--#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)-#undef memmove-#define memmove(dest, src, len)					\-  __builtin___memmove_chk (dest, src, len, __darwin_obsz0 (dest))-#endif--#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)-#undef memset-#define memset(dest, val, len)					\-  __builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))-#endif--#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__)-#undef strcpy-#define strcpy(dest, src)					\-  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))-#endif--#if __DARWIN_C_LEVEL >= 200809L-#if __has_builtin(__builtin___stpcpy_chk) || defined(__GNUC__)-#undef stpcpy-#define stpcpy(dest, src)					\-  __builtin___stpcpy_chk (dest, src, __darwin_obsz (dest))-#endif--#if __has_builtin(__builtin___stpncpy_chk) || __APPLE_CC__ >= 5666 || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)-#undef stpncpy-#define stpncpy(dest, src, len)					\-  __builtin___stpncpy_chk (dest, src, len, __darwin_obsz (dest))-#endif-#endif /* _DARWIN_C_LEVEL >= 200809L */--#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090-#if __has_builtin(__builtin___strlcpy_chk) && __HAS_FIXED_CHK_PROTOTYPES-#undef strlcpy-#define strlcpy(dest, src, len)                                 \-  __builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))-#endif--#if __has_builtin(__builtin___strlcat_chk) && __HAS_FIXED_CHK_PROTOTYPES-#undef strlcat-#define strlcat(dest, src, len)                                 \-  __builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))-#endif-#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 */-#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */--#if __has_builtin(__builtin___strncpy_chk) || defined(__GNUC__)-#undef strncpy-#define strncpy(dest, src, len)					\-  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))-#endif--#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__)-#undef strcat-#define strcat(dest, src)					\-  __builtin___strcat_chk (dest, src, __darwin_obsz (dest))-#endif--#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)-#if __has_builtin(__builtin___strncat_chk) || defined(__GNUC__)-#undef strncat-#define strncat(dest, src, len)					\-  __builtin___strncat_chk (dest, src, len, __darwin_obsz (dest))-#endif-#endif--#ifdef _undef__has_builtin-#undef _undef__has_builtin-#undef __has_builtin-#endif--#undef __HAS_FIXED_CHK_PROTOTYPES--#endif /* _USE_FORTIFY_LEVEL > 0 */-#endif /* _SECURE__STRING_H_ */
− tests/bugs/issue-82/include/string.h
@@ -1,197 +0,0 @@-/*- * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- *- * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- *- * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- *- * @APPLE_LICENSE_HEADER_END@- */-/*-- * Copyright (c) 1990, 1993- *	The Regents of the University of California.  All rights reserved.- *- * Redistribution and use in source and binary forms, with or without- * modification, are permitted provided that the following conditions- * are met:- * 1. Redistributions of source code must retain the above copyright- *    notice, this list of conditions and the following disclaimer.- * 2. 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.- * 3. All advertising materials mentioning features or use of this software- *    must display the following acknowledgement:- *	This product includes software developed by the University of- *	California, Berkeley and its contributors.- * 4. Neither the name of the University nor the names of its contributors- *    may be used to endorse or promote products derived from this software- *    without specific prior written permission.- *- * 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 OR 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.- *- *	@(#)string.h	8.1 (Berkeley) 6/2/93- */--#ifndef _STRING_H_-#define	_STRING_H_--#include <_types.h>-#include <sys/cdefs.h>-#include <Availability.h>-/*#include <sys/_types/_size_t.h>*/-/*#include <sys/_types/_null.h>*/--/* ANSI-C */--__BEGIN_DECLS-void	*memchr(const void *, int, int);-int	 memcmp(const void *, const void *, int);-void	*memcpy(void *, const void *, int);-void	*memmove(void *, const void *, int);-void	*memset(void *, int, int);-char	*strcat(char *, const char *);-char	*strchr(const char *, int);-int	 strcmp(const char *, const char *);-int	 strcoll(const char *, const char *);-char	*strcpy(char *, const char *);-int	 strcspn(const char *, const char *);-//Begin-Libc-#ifndef LIBC_ALIAS_STRERROR-//End-Libc-char	*strerror(int) /*__DARWIN_ALIAS(strerror)*/;-//Begin-Libc-#else /* LIBC_ALIAS_STRERROR */-char	*strerror(int) LIBC_ALIAS(strerror);-#endif /* !LIBC_ALIAS_STRERROR */-//End-Libc-int	 strlen(const char *);-char	*strncat(char *, const char *, int);-int	 strncmp(const char *, const char *, int);-char	*strncpy(char *, const char *, int);-char	*strpbrk(const char *, const char *);-char	*strrchr(const char *, int);-int	 strspn(const char *, const char *);-char	*strstr(const char *, const char *);-char	*strtok(char *, const char *);-int	 strxfrm(char *, const char *, int);-__END_DECLS----/* Additional functionality provided by:- * POSIX.1c-1995,- * POSIX.1i-1995,- * and the omnibus ISO/IEC 9945-1: 1996- */--#if __DARWIN_C_LEVEL >= 199506L-__BEGIN_DECLS-char	*strtok_r(char *, const char *, char **);-__END_DECLS-#endif /* __DARWIN_C_LEVEL >= 199506L */----/* Additional functionality provided by:- * POSIX.1-2001- */--#if __DARWIN_C_LEVEL >= 200112L-__BEGIN_DECLS-int	 strerror_r(int, char *, int);-char	*strdup(const char *);-void	*memccpy(void *, const void *, int, int);-__END_DECLS-#endif /* __DARWIN_C_LEVEL >= 200112L */----/* Additional functionality provided by:- * POSIX.1-2008- */--#if __DARWIN_C_LEVEL >= 200809L-__BEGIN_DECLS-char	*stpcpy(char *, const char *);-char    *stpncpy(char *, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);-char	*strndup(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);-int   strnlen(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);-char	*strsignal(int sig);-__END_DECLS-#endif /* __DARWIN_C_LEVEL >= 200809L */--/* C11 Annex K */--#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1-#include <sys/_types/_rsize_t.h>-#include <sys/_types/_errno_t.h>--__BEGIN_DECLS-errno_t	memset_s(void *, rsize_t, int, rsize_t) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);-__END_DECLS-#endif--/* Darwin extensions */--#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL-/*#include <sys/_types/_ssize_t.h>*/--__BEGIN_DECLS-void	*memmem(const void *, int, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);-void     memset_pattern4(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);-void     memset_pattern8(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);-void     memset_pattern16(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);--char	*strcasestr(const char *, const char *);-char	*strnstr(const char *, const char *, int);-int	 strlcat(char *, const char *, int);-int	 strlcpy(char *, const char *, int);-void	 strmode(int, char *);-char	*strsep(char **, const char *);--/* SUS places swab() in unistd.h.  It is listed here for source compatibility */-void	 swab(const void * __restrict, void * __restrict, int);-__END_DECLS--/* Some functions historically defined in string.h were placed in strings.h- * by SUS.  We are using "strings.h" instead of <strings.h> to avoid an issue- * where /Developer/Headers/FlatCarbon/Strings.h could be included instead on- * case-insensitive file systems.- */-#include "strings.h"-#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */---#ifdef _USE_EXTENDED_LOCALES_-#include <xlocale/_string.h>-#endif /* _USE_EXTENDED_LOCALES_ */--#if defined (__GNUC__) && _FORTIFY_SOURCE > 0 && !defined (__cplusplus)-/* Security checking functions.  */-#include <secure/_string.h>-#endif--#endif /* _STRING_H_ */
− tests/bugs/issue-82/include/strings.h
@@ -1,96 +0,0 @@-/*- * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */-/*-- * Copyright (c) 1990, 1993- *	The Regents of the University of California.  All rights reserved.- *- * Redistribution and use in source and binary forms, with or without- * modification, are permitted provided that the following conditions- * are met:- * 1. Redistributions of source code must retain the above copyright- *    notice, this list of conditions and the following disclaimer.- * 2. 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.- * 3. All advertising materials mentioning features or use of this software- *    must display the following acknowledgement:- *	This product includes software developed by the University of- *	California, Berkeley and its contributors.- * 4. Neither the name of the University nor the names of its contributors- *    may be used to endorse or promote products derived from this software- *    without specific prior written permission.- *- * 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 OR 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.- *- *	@(#)strings.h	8.1 (Berkeley) 6/2/93- */--#ifndef _STRINGS_H_-#define _STRINGS_H_--#include <_types.h>--#include <sys/cdefs.h>-#include <Availability.h>-/*#include <sys/_types/_size_t.h>*/--__BEGIN_DECLS-/* Removed in Issue 7 */-#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L-int	 bcmp(const void *, const void *, size_t) __POSIX_C_DEPRECATED(200112L);-void	 bcopy(const void *, void *, size_t) __POSIX_C_DEPRECATED(200112L);-void	 bzero(void *, size_t) __POSIX_C_DEPRECATED(200112L);-char	*index(const char *, int) __POSIX_C_DEPRECATED(200112L);-char	*rindex(const char *, int) __POSIX_C_DEPRECATED(200112L);-#endif--int	 ffs(int);-int	 strcasecmp(const char *, const char *);-int	 strncasecmp(const char *, const char *, int);-__END_DECLS--/* Darwin extensions */-#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL-__BEGIN_DECLS-int	 ffsl(long) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);-int	 ffsll(long long) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);-int	 fls(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);-int	 flsl(long) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);-int	 flsll(long long) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);-__END_DECLS--#include <string.h>-#endif--#endif  /* _STRINGS_H_ */-
− tests/bugs/issue-82/include/sys/cdefs.h
@@ -1,126 +0,0 @@-/*- * Copyright (c) 2006 - 2008 Apple Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */--/***********************************************************************- * Not to be installed in /usr/include- ***********************************************************************/--#ifndef _LIBC_SYS_CDEFS_H_-#define _LIBC_SYS_CDEFS_H_--/*- * Now include the real sys/cdefs.h.  The checks in libc-features.h will assure- * that those macros are consistent with the current build environment.- */-#include_next <sys/cdefs.h>-#ifndef _LIBC_NO_FEATURE_VERIFICATION-#if defined(__arm__) || defined(__i386__) || defined(__x86_64__)-/*#  include "libc-features.h"*/-#else-#  error "Unknown architecture."-#endif-#endif /* _LIBC_NO_FEATURE_VERIFICATION */--/*- * symbol suffixes used for symbol versioning- */-#if defined(VARIANT_LEGACY)-#  define LIBC_SUF_UNIX03		/* nothing */-#  define LIBC_SUF_64_BIT_INO_T		/* nothing */-#  define LIBC_SUF_NON_CANCELABLE	/* nothing */-#  define LIBC_SUF_1050			/* nothing */-#else /* !VARIANT_LEGACY */-#  if __DARWIN_ONLY_UNIX_CONFORMANCE-#    define LIBC_SUF_UNIX03		/* nothing */-#  else /* !__DARWIN_ONLY_UNIX_CONFORMANCE */-#    define LIBC_SUF_UNIX03		"$UNIX2003"-#  endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */--#  if defined(VARIANT_INODE32)-#    define LIBC_SUF_64_BIT_INO_T	/* nothing */-#  else /* !VARIANT_INODE32 */-#    if __DARWIN_ONLY_64_BIT_INO_T-#      define LIBC_SUF_64_BIT_INO_T	/* nothing */-#    else /* !__DARWIN_ONLY_64_BIT_INO_T */-#      define LIBC_SUF_64_BIT_INO_T	"$INODE64"-#    endif /* __DARWIN_ONLY_64_BIT_INO_T */-#  endif /* VARIANT_INODE32 */--#  if defined(VARIANT_CANCELABLE)-#    define LIBC_SUF_NON_CANCELABLE	/* nothing */-#  else /* !LIBC_NON_CANCELABLE */-#    define LIBC_SUF_NON_CANCELABLE	"$NOCANCEL"-#  endif /* LIBC_NON_CANCELABLE */--#  if defined(VARIANT_PRE1050)-#    define LIBC_SUF_1050		/* nothing */-#  else /* !VARIANT_PRE1050 */-#    if __DARWIN_ONLY_VERS_1050-#      define LIBC_SUF_1050		/* nothing */-#    else /* !__DARWIN_ONLY_VERS_1050 */-#      define LIBC_SUF_1050		"$1050"-#    endif /* __DARWIN_ONLY_VERS_1050 */-#  endif /* VARIANT_PRE1050 */--#endif /* LIBC_UNIX03 */--#define LIBC_SUF_EXTSN			"$DARWIN_EXTSN"--/*- * symbol versioning macros- */-#define LIBC_ALIAS(sym)		__asm("_" __STRING(sym) LIBC_SUF_UNIX03)-#define LIBC_ALIAS_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)-#define LIBC_ALIAS_I(sym)	__asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)-#define LIBC_INODE64(sym)	__asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T)--#define LIBC_1050(sym)		__asm("_" __STRING(sym) LIBC_SUF_1050)-#define LIBC_1050ALIAS(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_UNIX03)-#define LIBC_1050ALIAS_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)-#define LIBC_1050ALIAS_I(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)-#define LIBC_1050INODE64(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T)--#define LIBC_EXTSN(sym)		__asm("_" __STRING(sym) LIBC_SUF_EXTSN)-#define LIBC_EXTSN_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE)--extern int pthread_key_init_np(int, void (*)(void *));--#include <TargetConditionals.h>-#if TARGET_IPHONE_SIMULATOR-/* Simulator keys are offset by 200 */-#define	__LIBC_PTHREAD_KEY(x)		(210 + (x))-#else-#define	__LIBC_PTHREAD_KEY(x)		(10 + (x))-#endif--/*- * Libc pthread key assignments- */-#define __LIBC_PTHREAD_KEY_XLOCALE	__LIBC_PTHREAD_KEY(0)-#define __LIBC_PTHREAD_KEY_TTYNAME	__LIBC_PTHREAD_KEY(1)-#define __LIBC_PTHREAD_KEY_LOCALTIME	__LIBC_PTHREAD_KEY(2)-#define __LIBC_PTHREAD_KEY_GMTIME	__LIBC_PTHREAD_KEY(3)-#define __LIBC_PTHREAD_KEY_GDTOA_BIGINT	__LIBC_PTHREAD_KEY(4)-#define __LIBC_PTHREAD_KEY_PARSEFLOAT	__LIBC_PTHREAD_KEY(5)--#endif /* _LIBC_SYS_CDEFS_H_ */
− tests/bugs/issue-82/include/xlocale/_string.h
@@ -1,35 +0,0 @@-/*- * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.- *- * @APPLE_LICENSE_HEADER_START@- * - * This file contains Original Code and/or Modifications of Original Code- * as defined in and that are subject to the Apple Public Source License- * Version 2.0 (the 'License'). You may not use this file except in- * compliance with the License. Please obtain a copy of the License at- * http://www.opensource.apple.com/apsl/ and read it before using this- * file.- * - * The Original Code and all software distributed under the License are- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.- * Please see the License for the specific language governing rights and- * limitations under the License.- * - * @APPLE_LICENSE_HEADER_END@- */--#ifndef _XLOCALE__STRING_H_-#define _XLOCALE__STRING_H_--__BEGIN_DECLS-int	 strcoll_l(const char *, const char *, locale_t);-size_t	 strxfrm_l(char *, const char *, size_t, locale_t);-int	 strcasecmp_l(const char *, const char *, locale_t);-char    *strcasestr_l(const char *, const char *, locale_t);-int	 strncasecmp_l(const char *, const char *, size_t, locale_t);-__END_DECLS--#endif /* _XLOCALE__STRING_H_ */
− tests/regression-suite.yaml
@@ -1,112 +0,0 @@---    name: abcBridge-    on-travis: false--# COMMENTED FOR THE MOMENT BECAUSE OF BOUNDS ON C2HS DEPENDENCY-# --#     name: al-#     apt-packages: [libopenal-dev]----  name: alsa-mixer-  apt-packages: [libasound2-dev]--# DEPENDENCY ONLY AVAILABLE IN UBUNTU 14.04+: TRAVIS IS AT 12.04-#--#  name: bullet-#  apt-packages: [libbullet-dev]----  name: cuda-shared-setup-  cabal: false-  on-travis: false-  special-setup:-    - mkdir cuda-packages-    - aws s3 sync s3://cuda-packages ./cuda-packages-    - sudo dpkg -i ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb-    - /bin/rm ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb-    - sudo apt-get update-    - "sudo bash -c 'mv ./cuda-packages/*.deb /var/cache/apt/archives'"-    - sudo apt-get install -y cuda-  apt-packages: [acpid, consolekit, dkms, lib32gcc1, libc-bin,-                 libc-dev-bin, libc6, libc6-dev, libc6-i386,-                 libck-connector0, libpam-ck-connector,-                 libpolkit-agent-1-0, libpolkit-backend-1-0,-                 libpolkit-gobject-1-0, libvdpau1, libxmu-dev,-                 libxmu-headers, policykit-1, policykit-1-gnome,-                 python-xkit, screen-resolution-extra]-  extra-path: [/usr/local/cuda-6.5/bin]-  extra-so-path: [/usr/local/cuda-6.5/lib]----  name: cuda-  on-travis: false-  extra-include-dirs: [/usr/local/cuda-6.5/include]-  extra-lib-dirs: [/usr/local/cuda-6.5/lib64]----  name: cufft-  on-travis: false-  extra-include-dirs: [/usr/local/cuda-6.5/include]-  extra-lib-dirs: [/usr/local/cuda-6.5/lib64]--# BROKEN-#--#  name: CV-#  apt-packages: [libopencv-dev, libcv-dev, libhighgui-dev]----  name: gnome-keyring-  apt-packages: [libgnome-keyring-dev]----  name: gnuidn-  apt-packages: [libidn11-dev]-  on-travis: false----  name: haskell-mpi-  apt-packages: [libopenmpi-dev]-  extra-include-dirs: [/usr/include/openmpi]-  on-travis: false----  name: hnetcdf-  apt-packages: [libnetcdf-dev, libgsl0-dev, liblapack-dev]-  run-tests: true----  name: hpuz----  name: hsndfile-  apt-packages: [libsndfile1-dev]----  name: hsshellscript--# DEPENDENCIES ONLY AVAILABLE IN UBUNTU 14.04+: TRAVIS IS AT 12.04-# --#   name: hsqml-#   apt-packages: [???]-#   on-travis: false----  name: igraph-  apt-ppa: [igraph/ppa]-  apt-packages: [libigraph0-dev]-  on-travis: false----  name: libssh2-  apt-packages: [libssh2-1-dev]--# BUILD PROBLEMS WITH CURRENT C2HS-#--#  name: ncurses-#  apt-packages: [ncurses-dev]--# NEED TO RETEST-# --#   name: OpenCL-#   on-travis: false
− tests/system/clean
@@ -1,7 +0,0 @@-#!/bin/bash-find . -name \*.o | xargs /bin/rm 2> /dev/null-find . -name \*.hs | xargs /bin/rm 2> /dev/null-find . -name \*.chi | xargs /bin/rm 2> /dev/null-find . -name \*.chs.h | xargs /bin/rm 2> /dev/null-find . -name \*.hi | xargs /bin/rm 2> /dev/null-find . -mindepth 2 -type f -a -executable | xargs /bin/rm 2> /dev/null