aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-11-23use new label names for _indirection (instead of old names)johnvg2-4/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2667 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-11-17fix qualified import of constructors with a constraint or universally ↵johnvg1-10/+17
quantified type variable by using a SK_OverloadedConstructor instead of a SK_Constructor git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2665 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-09-17fix name in descriptor for unboxed lists of records if exporting local ↵johnvg1-1/+1
labels (again) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2632 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-09-08remove .o files generated by c compiler in call to clm,johnvg1-4/+5
no longer necessary because clm supports import code from, compile module backendconvert with -fusion git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2628 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-08-20add record label to .record directive for list of unboxed recordsjohnvg1-11/+14
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2609 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-08-19fix bug in FPrintF calljohnvg1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2608 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-08-18fix previous version, add return before next case in switch instructionjohnvg1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2607 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-08-18add descriptors of unboxed sub records to .record directive, in reverse orderjohnvg1-37/+206
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2605 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-07-21export label of node entry for Array methods for arrays of unboxed records ↵johnvg1-6/+10
if exporting local labels git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2582 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-07-20fix names and export labels of tuple selectors > 6 if exporting local labelsjohnvg2-2/+31
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2577 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-07-09fix name in descriptor for unboxed lists of records if exporting local labelsjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2569 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2015-07-09fix printing of symbols starting with a _ (characters after ; were printed ↵johnvg1-8/+10
twice) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2568 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-10-16atop compiling after a kind error, because this may cause a crash in the ↵johnvg1-2/+6
typechecker (while matching types of instances) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2444 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-10-16move addFunctionsRange after collectFunctions for instances and generic cases,johnvg1-3/+2
this adds local functions of instances and generic cases to the ifi_local_function_indices, in order to check the kinds of these local functions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2442 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-09-26remove unused constructor TQV of :: type_io.icljohnvg6-24/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2424 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-04-03add unit type (print type as ())johnvg1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2366 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-04-03add unit typejohnvg6-234/+329
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2365 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-04-03use the index to recognize predefined types when printing, instead of the ↵johnvg1-23/+16
name of the types git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2364 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-03-19fix the order of expansion of type synonyms in type synonyms,johnvg1-2/+3
by using the reversed groups (constructed in reverse order) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2361 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-02-21if a constraint of a class without members is reduced, and all classes in ↵johnvg1-1/+65
the constraint of that class appear in the reduced constraints for a variable, add a constraint for the original class for that variable (this causes removal of the other constraints later), to prevent functions with too many constraints git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2357 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-12-13in derived dynamic types, add uniqueness to algebraic types that are always ↵johnvg4-7/+23
unique (the type definition has a * on the left), add Bool to GTT_Constructor to indicate uniqueness, generate TCE_UnqType in TypeCode for unique GTT_Constructor's, this uniqueness property should be propagated, but this is not implemented yet git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2336 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-12-12add type attributes for universally quantified variables generated in the ↵johnvg1-5/+3
generics1 module to the list of all type attributes (not adding these type attributes caused a type error), this also happens for function types that are specified by the programmer, the universally quantified type variables are however not added to the list of all type variables git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2334 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-12-04generate .impmod before importing labels and descriptors,johnvg11-101/+301
using this information the code generator can determine from which module a label is imported, this is used when generating position independent code git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2332 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-11-27fix printing of uniqueness attributes in type with A.johnvg1-0/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2330 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-11-08generate jsr_ap 1 instead of jsr e_system_sAPjohnvg1-4/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2319 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-11-04fix comprehensions with a non lower case identifier as pattern,johnvg1-2/+3
for example: [0 \\ [] <- [[]]] git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2317 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-11-04remove unused argument ca and result of functions:johnvg1-30/+29
makeConsExpressionForGenerator, makeNilExpression and makeConsExpression git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2315 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-24fix bug in function getCommonFileInfoC on 64 bit platformsjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2308 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-23don't accept instance members defined using :==johnvg1-9/+20
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2306 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-23undo previous commit, because it causes the compiler to crash when compiling ↵johnvg1-5/+0
the CleanIDE (undo: check the type of instances defined using :== (maybe the parser should reject these instances)) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2304 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-21rename parameter inline to inlineFlag, because it is now a keyword (since c99)johnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2301 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-14check the type of instances defined using :== (maybe the parser should ↵johnvg1-0/+5
reject these instances) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2297 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-09prevent crash if a newtype is used with -dynamicsjohnvg1-5/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2292 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-10-09restore tv_info_pointer values in function ↵johnvg1-32/+55
convertSymbolTypeWithoutCollectingImportedConstructors, this is necessary because in module type_io these pointers point to TVI_Normalized values that could be overwritten by this function git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2290 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-08-23bug fix: generate jmp_eval_upd entry for update function for boxed recordsjohnvg1-37/+21
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2287 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-08-22bug fix: don't use jmp_eval_upd for record fields of an abstract typejohnvg1-1/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2285 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-06-07prevent infinite loop when fusing trivial tail recursive functions (e.g. ↵johnvg1-14/+42
undef = undef) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2253 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-06-07prevent crash during fusion,johnvg1-23/+23
argument fun_type of function determineProducers was changed by a record pattern match, rename the argument to consumer_type git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2251 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-06-03remove unused Bool of PE_Let contructorjohnvg5-36/+30
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2249 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-28prevent crash when writing .tcl file with extensible algebraic types (not ↵johnvg1-24/+16
yet implement in the dynamic linker) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2246 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-28fix renumbering of extensible algebraic typesjohnvg1-3/+10
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2244 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-27restore s line that was accidentally removed by the previous commitjohnvg1-0/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2243 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-27fix the file name for .tcl files of modules with a hierarchical module namejohnvg1-17/+54
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2242 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-06call reset_free_var_heap_pointers before expandCheckedAlternative in ↵johnvg1-7/+10
expandMacrosInBody, to prevent crash in collectVariables git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2239 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-29copy expr in DictionariesFunction in instance of copy for Expression,johnvg1-0/+4
to avoid abort in collectVariables for a BoundVar git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2237 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-26improve "multiply defined" error, add module names of the definitions to the ↵johnvg3-71/+75
error message git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2234 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-10allow =: again for generic functions without argumentsjohnvg1-5/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2233 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-09optimize fusion, reduce memory used of fusion (from iTask branch):johnvg5-316/+1167
allow integers and strings as consumer for generic functions (to optimize use of generic info). use PR_CurriedFunction instead of PR_Curried for local macro functions that are good producers. check the arity of the function to be generated already in determineProducer, if too large, don't yield a producer which will be rejected later, to allow optimization of producers in subsequent arguments. optimize trivial function calls (with arguments) before optimizing arguments, treat constant function as trivial function. if a function call has two identical arguments, generate a specialized function that shares these parameters. specialize functions with zero arity constructor arguments, if the function is a generic function, or the constructor is a generic constructor. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2232 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-09in lazy record selector offsets for the garbage collector, swap the offsets,johnvg1-0/+8
because the code generator swaps the fields in a FILE node git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2230 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-08increase heap size of the compilerjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2228 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d