SCM Repository
Diff of /sml/trunk/ckit/HISTORY
Parent Directory
|
Revision Log
|
Patch
revision 664, Fri Jun 16 03:09:26 2000 UTC | revision 665, Fri Jun 16 04:43:57 2000 UTC | |
---|---|---|
# | Line 1001 | Line 1001 |
1001 | error: Type Error: operand of unary op ! must be a number. | error: Type Error: operand of unary op ! must be a number. |
1002 | ||
1003 | ||
1004 | ---------------------------------------------------------------------- | |
1005 | NUMBER: 14 | |
1006 | SUBMITTER: Alexey Loginov <alexey@cs.wisc.edu> | |
1007 | DATE: 4/17/00 | |
1008 | TEST: a240.c | |
1009 | STATUS: fixed 16/June/00 | |
1010 | FIX: | |
1011 | There is a flag to control this behaviour in config.sml: | |
1012 | Config.TypeCheckControl.convert_function_args_to_pointers | |
1013 | ||
1014 | It should be set to true for standard behaviour (but was set to false | |
1015 | for some reason -- maybe temporarily for debugging something else, and then | |
1016 | not reverted back to true??). | |
1017 | ||
1018 | This is actually an ambiguous case: a strict reading of the standard would | |
1019 | suggest that this should be flagged as a type error, but most | |
1020 | compilers allow it, so it is "standard". | |
1021 | ||
1022 | DESCRIPTION: array formals | |
1023 | ||
1024 | This one is similar to the ?: bug we reported earlier (Bug number 8). | |
1025 | ||
1026 | void foo(int a[]); | |
1027 | ||
1028 | int main() { | |
1029 | int * ip; | |
1030 | foo(ip); | |
1031 | } | |
1032 | ||
1033 | Output: | |
1034 | ||
1035 | "tt.c":5.3-10: error: Bad function call: | |
1036 | arg 1 has type int * but fn parameter has type int [] | |
1037 | ||
1038 | Correct C output is still produced but the implicit type of ip inside | |
1039 | the call to foo has int array type. This is a problem for our | |
1040 | instrumentation. | |
1041 | ||
1042 |
|
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |