Functions changes summary: 1 Removed, 3 Changed, 1 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

1 Removed function:

  [D] 'function void fn2(callback)'

1 Added function:

  [A] 'function void fn2(callback)'

3 functions with some indirect sub-type change:

  [C] 'function callback fn0()' has some indirect sub-type changes:
    return type changed:
      underlying type 'int (int)*' changed:
        in pointed to type 'function type int (int)':
          return type changed:
            type name changed from 'int' to 'void'
            type size changed from 32 to 0 (in bits)

  [C] 'function double (int)* fn1()' has some indirect sub-type changes:
    return type changed:
      in pointed to type 'function type double (int)':
        return type changed:
          type name changed from 'double' to 'int'
          type size changed from 64 to 32 (in bits)

  [C] 'function void foo(S)' has some indirect sub-type changes:
    parameter 1 of type 'class S' has sub-type changes:
      type size hasn't changed
      3 data member changes:
        type of 'int ()* S::fnptr0' changed:
          in pointed to type 'function type int ()':
            parameter 1 of type 'double' was added
        type of 'int ()* S::fnptr1' changed:
          in pointed to type 'function type int ()':
            entity changed from 'function type int ()' to 'void'
            type size changed from 64 to 0 (in bits)
        type of 'int ()* S::fnptr2' changed:
          entity changed from 'int ()*' to 'int'
          type size changed from 64 to 32 (in bits)

