diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-13 21:49:03 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-13 21:49:03 +0000 |
commit | d52f93a77b26158ea37bba9e66540538de260870 (patch) | |
tree | 506fe14d91a0f1fe2db723460a52b14f0b697864 /gcc/melt/warmelt-normal.melt | |
parent | 678568ed7f0472140093f7bd9cae7dc2fffd1a7c (diff) | |
download | gcc-d52f93a77b26158ea37bba9e66540538de260870.tar.gz |
2014-08-13 Basile Starynkevitch <basile@starynkevitch.net>
* melt/warmelt-normal.melt (normexp_mixed_location): Improved.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@213929 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/melt/warmelt-normal.melt')
-rw-r--r-- | gcc/melt/warmelt-normal.melt | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/melt/warmelt-normal.melt b/gcc/melt/warmelt-normal.melt index 791ea821c5f..37de2474988 100644 --- a/gcc/melt/warmelt-normal.melt +++ b/gcc/melt/warmelt-normal.melt @@ -1241,6 +1241,7 @@ routine procedures.}# ;;; evaluation. ;;;;;;;;;;;;;;;; (defun normexp_any_object (recv env ncx psloc) + (debug "normexp_any_object" " recv=" recv) (assert_msg "check env" (is_a env class_environment) env) (assert_msg "check ncx" (is_a ncx class_normalization_context) ncx) ;; we should normalize arbitrary objects into themselves. However, @@ -1275,16 +1276,21 @@ routine procedures.}# $COLNUM = LOCATION_COLUMN(loc_$NORMIXLOC_CHK) ; /* normexp_mixed_location end $NORMIXLOC_CHK */}#) (debug "normexp_mixed_location" " filev=" filev "; linenum=" linenum "; colnum=" colnum) - (let ( (sprim (instance class_source_primitive - :loca_location (or psloc recv) + (let ( + (sloc (or psloc recv)) + (sdiscr (instance class_source_fetch_predefined + :loca_location sloc + :sfepd_predef 'discr_mixed_integer)) + (sprim (instance class_source_primitive + :loca_location sloc :sprim_oper make_mixint - :sargop_args (tuple discr_mixed_integer filev (constant_box linenum)))) + :sargop_args (tuple sdiscr filev (constant_box linenum)))) ) (debug "normexp_mixed_location" " sprim=" sprim) (multicall (nres nbind) (normexp_primitive sprim env ncx psloc) - (debug "normexp_mixed_location" " result nres=" nres " nbind=" nbind) + (debug "normexp_mixed_location" " result nres=" nres "\n.. nbind=" nbind) (return nres nbind) ) ) |