Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/ckit/HISTORY
ViewVC logotype

Diff of /sml/trunk/ckit/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 597, Wed Apr 5 18:34:51 2000 UTC revision 975, Wed Oct 31 20:22:44 2001 UTC
# Line 128  Line 128 
128    can be used to generate sizes info for a given compiler/platform    can be used to generate sizes info for a given compiler/platform
129    combination.    combination.
130    
131    Version 1.x (x > 0), Halloween 2001 (boo! :-), M.Blume
132    -----------
133    * Changed the "Function" constructor of type Ast.ctype to carry optional
134      argument identifiers.
135    * Changed the return type of TypeUtil.getFunction accordingly.
136    * Type equality ignores the argument names.
137    * TypeUtil.composite tries to preserve argument names but gives up
138      if there is a mismatch.
139    
140  ======================================================================  ======================================================================
141  Bug fix history  Bug fix history
# Line 1001  Line 1009 
1009       error: Type Error: operand of unary op ! must be a number.       error: Type Error: operand of unary op ! must be a number.
1010    
1011    
1012    ----------------------------------------------------------------------
1013    NUMBER: 14
1014    SUBMITTER: Alexey Loginov <alexey@cs.wisc.edu>
1015    DATE: 4/17/00
1016    TEST: a240.c
1017    STATUS: fixed 16/June/00
1018    FIX:
1019    There is a flag to control this behaviour in config.sml:
1020     Config.TypeCheckControl.convert_function_args_to_pointers
1021    
1022    It should be set to true for standard behaviour (but was set to false
1023    for some reason -- maybe temporarily for debugging something else, and then
1024    not reverted back to true??).
1025    
1026    This is actually an ambiguous case: a strict reading of the standard would
1027    suggest that this should be flagged as a type error, but most
1028    compilers allow it, so it is "standard".
1029    
1030    DESCRIPTION: array formals
1031    
1032    This one is similar to the ?: bug we reported earlier (Bug number 8).
1033    
1034    void foo(int a[]);
1035    
1036    int main() {
1037      int * ip;
1038      foo(ip);
1039    }
1040    
1041    Output:
1042    
1043    "tt.c":5.3-10: error: Bad function call:
1044                   arg 1 has type int * but fn parameter has type int []
1045    
1046    Correct C output is still produced but the implicit type of ip inside
1047    the call to foo has int array type.  This is a problem for our
1048    instrumentation.
1049    
1050    

Legend:
Removed from v.597  
changed lines
  Added in v.975

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0