1. 12 Apr, 2018 1 commit
    • Victor Costan's avatar
      Remove multiple inheritance from "unintesting call" mock classes. · 1324e2d7
      Victor Costan authored
      Internal CL 156157936, which was published in commit
      fe402c27, introduced undefined behavior
      by casting a base class (internal::{Naggy,Nice,Strict}Base<MockClass>,
      using the curiously recurring template pattern) pointer to a derived
      class ({Naggy,Nice,Strict}Mock<MockClass>), in the base class'
      constructor. At that point, the object isn't guaranteed to have taken on
      the shape of the derived class, and casting is undefined behavior.
      
      The undefined behavior was caught by Chrome's CFI build bot [1], and
      prevents rolling googletest past that commit / CL.
      
      This commit simplifies the {Naggy,Nice,Strict}Mock class hierarchy in
      a way that removes the undefined behavior.
      
      [1] https://www.chromium.org/developers/testing/control-flow-integrity
      1324e2d7
  2. 11 Apr, 2018 16 commits
  3. 10 Apr, 2018 8 commits
  4. 09 Apr, 2018 15 commits