Skip to content
  • Iustin Pop's avatar
    Cleanup the QC.hs file w.r.t. compiler options · fce98abd
    Iustin Pop authored
    
    
    Currently, we build the Haskell unittests with custom GHC flags,
    because we (I) were quite lazy when initially writing the
    unittests. This is not a problem for the tests themselves, but it
    creates problem when (for example) one would want to pass all
    $(HS_LIB_SRCS) to the compilers; this is not doable unless we
    "degrade" the flags used for all modules, instead of just for QC.hs.
    
    So we do two things to fix this:
    
    - first, we go and add type declaration to all functions that were
      missing them (in QC), and fix the couple of cases of monomorphism
      restrictions; this gets us rid of -fno-warn-missing-signature and
      -fno-warn-monomorphism-restriction
    - then, we move the actually important remaining options
      (-fno-warn-orphans and -fno-warn-unused-imports; see the explanation
      for the latter in the newly added FIXME) to a compiler pragma in the
      file, so that when building the unittests only this file is using
      the extra options
    
    And finally we can then drop the other unused options
    (-fno-warn-missing-methods anmd -Wwarn), leaving htools/test use
    simply -fhpc. This is more in-line with the other files, and thus we
    can handle all of HS_LIB_SRCS the same.
    
    Signed-off-by: default avatarIustin Pop <iustin@google.com>
    Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
    fce98abd