[all-commits] [llvm/llvm-project] be86fd: [analyzer] Fix off-by-one in operator call paramet...

NoQ via All-commits all-commits at lists.llvm.org
Wed Oct 23 08:17:18 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: be86fdb86e1efd6921c81f25ac0c0a78903c0a2d
      https://github.com/llvm/llvm-project/commit/be86fdb86e1efd6921c81f25ac0c0a78903c0a2d
  Author: Artem Dergachev <artem.dergachev at gmail.com>
  Date:   2019-10-23 (Wed, 23 Oct 2019)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/test/Analysis/temporaries.cpp

  Log Message:
  -----------
  [analyzer] Fix off-by-one in operator call parameter binding.

Member operator declarations and member operator expressions
have different numbering of parameters and arguments respectively:
one of them includes "this", the other does not.

Account for this inconsistency when figuring out whether
the parameter needs to be manually rebound from the Environment
to the Store when entering a stack frame of an operator call,
as opposed to being constructed with a constructor and as such
already having the necessary Store bindings.

Differential Revision: https://reviews.llvm.org/D69155




More information about the All-commits mailing list