[dmd-internals] [D-Programming-Language/dmd] 877736: Add `bool gag` flag to resolveAliasThis()

GitHub via dmd-internals dmd-internals at puremagic.com
Sat Aug 29 02:32:42 PDT 2015


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/dmd
  Commit: 877736034f2406f6959644d642999ea0894c4245
      https://github.com/D-Programming-Language/dmd/commit/877736034f2406f6959644d642999ea0894c4245
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M src/aliasthis.c
    M src/expression.h

  Log Message:
  -----------
  Add `bool gag` flag to resolveAliasThis()


  Commit: 33ccda3dcd52fb7706eec2d24d9224ce36f8d2bd
      https://github.com/D-Programming-Language/dmd/commit/33ccda3dcd52fb7706eec2d24d9224ce36f8d2bd
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M src/arrayop.c
    M src/expression.c
    M src/expression.h
    M src/mtype.c

  Log Message:
  -----------
  Add convenient constructors in ArrayExp and SliceExp


  Commit: 07d6a3673d1bd7a60c823f49966f6a11fb4e7791
      https://github.com/D-Programming-Language/dmd/commit/07d6a3673d1bd7a60c823f49966f6a11fb4e7791
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M src/expression.c
    M src/magicport.json
    M src/mtype.c
    M src/opover.c
    R test/fail_compilation/fail1.d
    R test/fail_compilation/fail2.d
    A test/fail_compilation/fail_opover.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Stop nested semantic() call with gagging for array operator overloading fallback

Points:
- Shorten the length of problematic gagged semantic path.
- Improve ArrayExp as the entry point of array operator overloading.
- Reduce stack size and the number of heap-allocated AST nodes for recursive semantic analysis.

Also fixes unlisted wrong-code issue. See test20x() in runnable/opover2.d


  Commit: 3b89f3e23de4ff7580932298bd3ce356dccec7ab
      https://github.com/D-Programming-Language/dmd/commit/3b89f3e23de4ff7580932298bd3ce356dccec7ab
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M src/expression.c
    M src/expression.h
    M src/magicport.json
    M src/opover.c

  Log Message:
  -----------
  Remove unnecessary SliceExp creation


  Commit: 6fcef51018ab366fb8fd7ec011597e08bb65f9ec
      https://github.com/D-Programming-Language/dmd/commit/6fcef51018ab366fb8fd7ec011597e08bb65f9ec
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    A test/fail_compilation/ice14621.d

  Log Message:
  -----------
  fix Issue 14621 - ICE: Assertion failure: 'global.gaggedErrors || global.errors' on line 752 in file 'statement.c'


  Commit: bfb7f8d2a116578a57be29d87da3db010b565bb1
      https://github.com/D-Programming-Language/dmd/commit/bfb7f8d2a116578a57be29d87da3db010b565bb1
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M test/runnable/opover2.d

  Log Message:
  -----------
  fix Issue 14624 - The array operator overloading fallback is not correct


  Commit: 248805a4ba23278622f6831a172779f3012b1b03
      https://github.com/D-Programming-Language/dmd/commit/248805a4ba23278622f6831a172779f3012b1b03
  Author: k-hara <k.hara.pg at gmail.com>
  Date:   2015-08-25 (Tue, 25 Aug 2015)

  Changed paths:
    M src/opover.c
    M test/runnable/opover2.d

  Log Message:
  -----------
  fix Issue 14625 - opIndex() doesn't work on foreach container iteration


  Commit: d99699301eb0f5d46b4f9240236ca7c1694bb39b
      https://github.com/D-Programming-Language/dmd/commit/d99699301eb0f5d46b4f9240236ca7c1694bb39b
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    M src/aliasthis.c
    M src/arrayop.c
    M src/expression.c
    M src/expression.h
    M src/magicport.json
    M src/mtype.c
    M src/opover.c
    R test/fail_compilation/fail1.d
    R test/fail_compilation/fail2.d
    A test/fail_compilation/fail_opover.d
    A test/fail_compilation/ice14621.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Merge pull request #4948 from 9rnsr/fix14621

Issue 14621, 14624, 14625 - Fix bugs in array operator overloading semantics


  Commit: a1736da9ec9895447668c887baa69292acd9a065
      https://github.com/D-Programming-Language/dmd/commit/a1736da9ec9895447668c887baa69292acd9a065
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    M src/aliasthis.c
    M src/arrayop.c
    M src/cppmangle.c
    M src/declaration.c
    M src/dsymbol.c
    M src/dsymbol.h
    M src/expression.c
    M src/expression.h
    M src/func.c
    M src/magicport.json
    M src/mtype.c
    M src/mtype.h
    M src/nogc.c
    M src/opover.c
    M src/parse.c
    M src/parse.h
    M src/statement.c
    M src/template.c
    M test/compilable/b1215.d
    A test/compilable/test14973.d
    M test/fail_compilation/diag9831.d
    R test/fail_compilation/fail1.d
    M test/fail_compilation/fail11545.d
    M test/fail_compilation/fail120.d
    R test/fail_compilation/fail2.d
    M test/fail_compilation/fail39.d
    M test/fail_compilation/fail9.d
    A test/fail_compilation/fail_opover.d
    A test/fail_compilation/ice14621.d
    A test/fail_compilation/ice14923.d
    A test/fail_compilation/ice14929.d
    M test/fail_compilation/ice9865.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/stable' into merge_stable_convert

Conflicts:
	src/opover.c


  Commit: 4e45aa8411e4467cc516e8ddef85b3c28aa39256
      https://github.com/D-Programming-Language/dmd/commit/4e45aa8411e4467cc516e8ddef85b3c28aa39256
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    R src/access.c
    A src/access.d
    A src/aggregate.d
    R src/aliasthis.c
    A src/aliasthis.d
    R src/apply.c
    A src/apply.d
    R src/argtypes.c
    A src/argtypes.d
    R src/arrayop.c
    A src/arrayop.d
    A src/arraytypes.d
    R src/attrib.c
    A src/attrib.d
    R src/builtin.c
    A src/builtin.d
    R src/canthrow.c
    A src/canthrow.d
    R src/cast.c
    R src/class.c
    R src/clone.c
    A src/clone.d
    R src/cond.c
    A src/cond.d
    R src/constfold.c
    A src/constfold.d
    R src/cppmangle.c
    A src/cppmangle.d
    R src/ctfeexpr.c
    A src/ctfeexpr.d
    A src/dcast.d
    A src/dclass.d
    R src/declaration.c
    A src/declaration.d
    R src/delegatize.c
    A src/delegatize.d
    A src/denum.d
    A src/dimport.d
    A src/dinifile.d
    A src/dinterpret.d
    A src/dmacro.d
    A src/dmangle.d
    A src/dmodule.d
    R src/doc.c
    A src/doc.d
    A src/dscope.d
    A src/dstruct.d
    R src/dsymbol.c
    A src/dsymbol.d
    A src/dtemplate.d
    A src/dunittest.d
    A src/dversion.d
    R src/entity.c
    R src/enum.c
    R src/errors.c
    A src/errors.d
    R src/escape.c
    A src/escape.d
    R src/expression.c
    A src/expression.d
    R src/func.c
    A src/func.d
    R src/globals.c
    A src/globals.d
    R src/hdrgen.c
    A src/hdrgen.d
    R src/identifier.c
    A src/identifier.d
    R src/imphint.c
    A src/imphint.d
    R src/import.c
    R src/inifile.c
    R src/init.c
    A src/init.d
    R src/inline.c
    A src/inline.d
    R src/interpret.c
    R src/intrange.c
    R src/json.c
    A src/json.d
    R src/lexer.c
    A src/lexer.d
    A src/lib.d
    R src/link.c
    A src/link.d
    R src/macro.c
    R src/mangle.c
    R src/mars.c
    A src/mars.d
    R src/module.c
    R src/mtype.c
    A src/mtype.d
    R src/nogc.c
    A src/nogc.d
    R src/nspace.c
    A src/nspace.d
    R src/objc.c
    A src/objc.d
    R src/objc_stubs.c
    R src/opover.c
    A src/opover.d
    R src/optimize.c
    A src/optimize.d
    R src/parse.c
    A src/parse.d
    R src/root/aav.c
    A src/root/aav.d
    R src/root/async.c
    R src/root/async.h
    R src/root/checkedint.c
    R src/root/checkedint.h
    R src/root/file.c
    A src/root/file.d
    R src/root/filename.c
    A src/root/filename.d
    R src/root/longdouble.c
    R src/root/man.c
    A src/root/man.d
    R src/root/object.c
    R src/root/outbuffer.c
    A src/root/outbuffer.d
    R src/root/port.c
    R src/root/response.c
    A src/root/response.d
    R src/root/rmem.c
    R src/root/speller.c
    A src/root/speller.d
    R src/root/stringtable.c
    A src/root/stringtable.d
    R src/sapply.c
    A src/sapply.d
    R src/scope.c
    R src/sideeffect.c
    A src/sideeffect.d
    R src/statement.c
    A src/statement.d
    R src/staticassert.c
    A src/staticassert.d
    R src/struct.c
    R src/target.c
    A src/target.d
    R src/template.c
    R src/tokens.c
    A src/tokens.d
    R src/traits.c
    A src/traits.d
    R src/unittests.c
    R src/utf.c
    A src/utf.d
    R src/version.c
    A src/visitor.d

  Log Message:
  -----------
  convert C++ -> D


  Commit: bda77f08e676d1deda9ed02bd15d69d13408076b
      https://github.com/D-Programming-Language/dmd/commit/bda77f08e676d1deda9ed02bd15d69d13408076b
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    M src/aliasthis.d
    M src/arrayop.d
    M src/expression.d
    M src/expression.h
    M src/mtype.d
    M src/opover.d
    R test/fail_compilation/fail1.d
    R test/fail_compilation/fail2.d
    A test/fail_compilation/fail_opover.d
    A test/fail_compilation/ice14621.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Merge branch 'merge_stable_convert' into merge_stable

Conflicts:
	src/access.d
	src/aggregate.d
	src/aliasthis.d
	src/apply.d
	src/argtypes.d
	src/arrayop.d
	src/arraytypes.d
	src/attrib.d
	src/builtin.d
	src/canthrow.d
	src/clone.d
	src/cond.d
	src/constfold.d
	src/cppmangle.d
	src/ctfeexpr.d
	src/dcast.d
	src/dclass.d
	src/declaration.d
	src/delegatize.d
	src/denum.d
	src/dimport.d
	src/dinterpret.d
	src/dmacro.d
	src/dmangle.d
	src/dmodule.d
	src/doc.d
	src/dscope.d
	src/dstruct.d
	src/dsymbol.d
	src/dtemplate.d
	src/dversion.d
	src/errors.d
	src/escape.d
	src/expression.d
	src/func.d
	src/globals.d
	src/hdrgen.d
	src/identifier.d
	src/init.d
	src/inline.d
	src/json.d
	src/lexer.d
	src/lib.d
	src/link.d
	src/magicport.json
	src/mars.d
	src/mtype.d
	src/nogc.d
	src/nspace.d
	src/objc.d
	src/opover.d
	src/optimize.d
	src/parse.d
	src/root/file.d
	src/root/outbuffer.d
	src/sapply.d
	src/sideeffect.d
	src/statement.d
	src/staticassert.d
	src/target.d
	src/tokens.d
	src/traits.d
	src/visitor.d


  Commit: 981cc65ca855cba6317531428c9565ff98a1d3de
      https://github.com/D-Programming-Language/dmd/commit/981cc65ca855cba6317531428c9565ff98a1d3de
  Author: Hara Kenji <k.hara.pg+dev at gmail.com>
  Date:   2015-08-29 (Sat, 29 Aug 2015)

  Changed paths:
    M src/aliasthis.d
    M src/arrayop.d
    M src/expression.d
    M src/expression.h
    M src/mtype.d
    M src/opover.d
    R test/fail_compilation/fail1.d
    R test/fail_compilation/fail2.d
    A test/fail_compilation/fail_opover.d
    A test/fail_compilation/ice14621.d
    M test/runnable/opover2.d

  Log Message:
  -----------
  Merge pull request #4982 from MartinNowak/merge_stable

Merge branch 'merge_stable_convert' into merge_stable


Compare: https://github.com/D-Programming-Language/dmd/compare/055300745386...981cc65ca855


More information about the dmd-internals mailing list