OSDN Git Service

Track source location better, for better error messages.
authordevans <devans>
Thu, 6 Aug 2009 16:40:43 +0000 (16:40 +0000)
committerdevans <devans>
Thu, 6 Aug 2009 16:40:43 +0000 (16:40 +0000)
commit14ac3f932a6436762272305a2e018017b1e11040
tree2fdd4f00714100893e489cdcb3b85b61e4570df8
parentc2ed0d15d49763247266c431f33a64d0a899df9b
Track source location better, for better error messages.
* pmacros.scm (-pmacro-eval): Delete, unused.
(pmacro-expand, -pmacro-expand): New arg `loc', all callers updated.
(-pmacro-expand-expr-list, -smacro-apply): Ditto.
(scan-list, scan): Ditto.
(-pmacro-builtin-pmacro, -pmacro-builtin-let, -pmacro-builtin-if,
-pmacro-builtin-case, -pmacro-builtin-cond, -pmacro-builtin-begin,
-pmacro-builtin-andif, -pmacro-builtin-orif): Ditto.
(scan-list1): New function.
(-pmacro-build-lambda): New arg `loc', all callers updated.  Rewrite.
* read.scm (<reader>): New member `location'.
(-reader-lookup-command): Renamed from reader-lookup-command,
all callers updated.
(reader-error): Rewrite to produce better source location info.
(current-reader-location): New function.
(-reader-process-expanded-1!): Renamed from -reader-process-expanded-1.
All callers updated.  Record source location of expression.
(reader-process-expanded!): Renamed from reader-process-expanded.
All callers updated.
(-reader-process!): Renamed from reader-process.  New arg `loc'.
All callers updated.  Record source location of define-pmacro.
* utils-cgen.scm (<location>): New class.
(single-location): New (pseudo) class.
(pretty-print-single-location, pretty-print-location): New functions.
(location-top, location-push-single, location-push): New functions.
(unspecified-location, current-input-location): New functions.
(location-property): New object property.
(location-property-set!): New function.
(<source-ident>): Renamed from <ordered-ident>.  New member `location'.
All uses updated.
* testsuite/location-1.test: New testcase.
* testsuite/run-tests.sh: Fix fail count handling.
* testsuite/test-utils.sh.in (run_cgen): New option `-f'.  Allow tests
to expect cgen to fail.

* pmacros.scm (*): Use "pmacro" instead of "macro" more consistently.

* read.scm (-cmd-include): Renamed from include.  All callers updated.
(-cmd-if): Renamed from cmd-if.  All callers updated.
Use reader-process-expanded! on then/else clauses instead of eval1.
12 files changed:
cgen/ChangeLog
cgen/ifield.scm
cgen/insn.scm
cgen/mach.scm
cgen/minsn.scm
cgen/operand.scm
cgen/pmacros.scm
cgen/read.scm
cgen/testsuite/location-1.test [new file with mode: 0644]
cgen/testsuite/run-tests.sh
cgen/testsuite/test-utils.sh.in
cgen/utils-cgen.scm