summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix some breakagewip/ext-aritySebastian Graf2019-11-045-32/+35
|
* add an extensionalityInfo field to IdInfoZach Sullivan2019-11-042-1/+39
|
* new eta-testsZach Sullivan2019-11-042-0/+19
|
* add logging to the eta-testsZach Sullivan2019-11-041-3/+3
|
* reorg worker wrappersZach Sullivan2019-11-0410-43/+1244
|
* NoInline eta wrappersZach Sullivan2019-11-041-1/+1
|
* start joining worker/wrapper transformationsZach Sullivan2019-11-044-28/+67
|
* add case for funtildetyZach Sullivan2019-11-041-0/+2
|
* guarentee that (~>) have fully saturated applicationsZach Sullivan2019-11-0416-25/+147
|
* dd in more cases for TildeFunTyZach Sullivan2019-11-042-0/+23
|
* add funTildeTy cases to CoreOptZach Sullivan2019-11-042-9/+28
|
* bug fix: do not etaArityWW join point variablesZach Sullivan2019-11-041-25/+37
|
* etaArityWW on let-bound functions addedZach Sullivan2019-11-041-40/+29
|
* Add arity rules for extensional function types to CoreLint. CoalescedZach Sullivan2019-11-0413-129/+172
| | | | transformation into a single file in simplCore.
* cannot etaReduce FunTildeTys, these should always appear as fully expandedZach Sullivan2019-11-043-4/+14
|
* the type of etaWW functions depends on the usage of arguments in the bodyZach Sullivan2019-11-042-22/+70
|
* eta expand higher order functionsZach Sullivan2019-11-041-28/+98
|
* begin adding support for higher-order functionsZach Sullivan2019-11-044-18/+109
|
* fix infinite loop when pretty printing extensional functionsZach Sullivan2019-11-0412-28/+128
|
* eta-arity: fix infinite loop bugZach Sullivan2019-10-312-35/+48
|
* thread unique supply through EtaWorkerWrapperZach Sullivan2019-10-317-85/+57
|
* Plug EtaWorkerWrapper transformation into the Core2Core pipeline. It is nowZach Sullivan2019-10-318-4/+29
| | | | useable with the flag "-feta-arity".
* worker/wrapper transformation for CoreEtaZach Sullivan2019-10-314-4/+91
|
* add call-by-name function types and their respective coersionsZach Sullivan2019-10-3122-33/+281
|
* gitlab-ci: Fix the ARMv7 tripleBen Gamari2019-10-301-1/+1
| | | | | | | | | | Previously we were configuring the ARMv7 builds with a host/target triple of arm-linux-gnueabihf, which caused us to target ARMv6 and consequently rely on the old CP15 memory barrier implementation. This barrier has to be emulated on ARMv8 machines which is glacially slow. Hopefully this should fix the ARMv7 builds which currently consistently time out.
* Whitespace forward compatibility for proposal #229Vladislav Zavialov2019-10-3016-47/+27
| | | | | | | | GHC Proposal #229 changes the lexical rules of Haskell, which may require slight whitespace adjustments in certain cases. This patch changes formatting in a few places in GHC and its testsuite in a way that enables it to compile under the proposed rules.
* rts: More aarch64 header fixesBen Gamari2019-10-305-7/+10
|
* Interpreter: initialize arity fields of AP_NOUPDsÖmer Sinan Ağacan2019-10-291-4/+4
| | | | | | AP_NOUPD entry code doesn't use the arity field, but not initializing this field confuses printers/debuggers, and also makes testing harder as the field's value changes randomly.
* gitlab-ci: Fix binary distribution testingBen Gamari2019-10-291-20/+20
|
* Don't include settings file in binary distributionBen Gamari2019-10-291-1/+1
| | | | | | | | The configuration in the installation environment (as determined by `autoconf`) may differ from the build environment and therefore we need to be sure to rebuild the settings file. Fixes #17374.
* gitlab-ci: Use pxz to compress binary distributionsBen Gamari2019-10-292-1/+2
|
* distrib: Fix binary distribution installationBen Gamari2019-10-293-4/+6
| | | | | This had silently regressed due to 81860281 and the variable renaming performed in b55ee979, as noted in #17374.
* Revert "Replace freebsd-gnueabihf with freebsd"Ben Gamari2019-10-293-4/+8
| | | | | This reverts commit aa31ceaf7568802590f73a740ffbc8b800096342 as suggested in #17392.
* Don't substitute GccVersion variableBen Gamari2019-10-292-4/+2
| | | | | Not only is it now unused but we generally can't assume that we are compiling with GCC, so it really shouldn't be used.
* base: Split up file locking implementationBen Gamari2019-10-298-284/+352
| | | | This makes the CPP significantly easier to follow.
* base: Fix open-file lockingBen Gamari2019-10-292-19/+40
| | | | | | | | | The OFD locking path introduced in 3b784d440d4b01b4c549df7c9a3ed2058edfc780 due to #13945 appears to have never actually worked but we never noticed due to an oversight in the autoconf check. Fix it. Thanks to Oleg Grenrus for noticing this.
* hadrian: Drop -Werror=unused-but-set-variable from GHC flagsBen Gamari2019-10-291-3/+1
| | | | | | | | | | | Previously `hadrian` would pass `-optc-Werror=unused-but-set-variable` to all GHC invocations. This was a difference from the make build system and cause the unregisterised build to fail as the C that GHC produces contains many unused functions. Drop it from the GHC flags. Note, however, that the flag is still present in `Settings.Builders.Common.cWarnings` and therefore will still be applied during compilation of C sources.
* hadrian: Shuffle around RTS build flagsBen Gamari2019-10-291-10/+19
| | | | | Some of these flags wanted to be passed to .cmm builds as well as C builds.
* hadrian: Define NOSMP when building rts unregisterisedBen Gamari2019-10-296-15/+54
| | | | | | | | It seems that NOSMP was previously only defined when compiling the compiler, not the RTS. Fix this. In addition do some spring-cleaning and make the logic match that of the Make build system.
* hadrian: Define USE_LIBFFI_FOR_ADJUSTORS when necessaryBen Gamari2019-10-291-0/+2
|
* gitlab-ci: Factor out Linux Hadrian validation logicBen Gamari2019-10-291-3/+6
|
* gitlab-ci: Use Hadrian for unregisterised jobBen Gamari2019-10-291-7/+7
|
* MkIface: Remove redundant parameter and outdated comments from addFingerprintsÖmer Sinan Ağacan2019-10-291-8/+8
|
* HscMain: Move a comment closer to the relevant siteÖmer Sinan Ağacan2019-10-291-4/+4
|
* Remove unused DynFlags arg of lookupIfaceByModuleÖmer Sinan Ağacan2019-10-296-17/+12
|
* Return ModIface in compilation pipeline, remove IORef hack for generating ↵Ömer Sinan Ağacan2019-10-294-97/+114
| | | | | | | | | | | | | | | | | | | | | ModIfaces The compilation phases now optionally return ModIface (for phases that generate an interface, currently only HscOut when (re)compiling a file). The value is then used by compileOne' to return the generated interface with HomeModInfo (which is then used by the batch mode compiler when building rest of the tree). hscIncrementalMode also returns a DynFlags with plugin info, to be used in the rest of the pipeline. Unfortunately this introduces a (perhaps less bad) hack in place of the previous IORef: we now record the DynFlags used to generate the partial infterface in HscRecomp and use the same DynFlags when generating the full interface. I spent almost three days trying to understand what's changing in DynFlags that causes a backpack test to fail, but I couldn't figure it out. There's a FIXME added next to the field so hopefully someone who understands this better than I do will fix it leter.
* Refactor HscRecomp constructors:Ömer Sinan Ağacan2019-10-293-47/+45
| | | | | | | | | | | Make it evident in the constructors that the final interface is only available when HscStatus is not HscRecomp. (When HscStatus == HscRecomp we need to finish the compilation to get the final interface) `Maybe ModIface` return value of hscIncrementalCompile and the partial `expectIface` function are removed.
* testsuite: Fix quoting of $(TEST_HC) in T12674Ben Gamari2019-10-291-2/+2
| | | | I have no idea how this went unnoticed until now.
* linters: Add linter to catch unquoted use of $(TEST_HC)Ben Gamari2019-10-291-4/+16
| | | | This is a common bug that creeps into Makefiles (e.g. see T12674).
* linters: Add mode to lint given set of filesBen Gamari2019-10-292-5/+16
| | | | This makes testing much easier.