rjmccall added a comment.

This property adheres to a function definition, so it seems to me that an 
explicit *instantiation* ought to preserve it from the instantiated template 
definition, but an explicit *specialization* ought to be independent.

i.e.

  #pragma float_control(precise, on, push)
  template <typename Ty>
  float func2(Ty) {
    float f1 = 1.0f, f2 = 3.0f;
    return f1 + f2 * 2.0f;
  }
  #pragma float_control(pop)
  
  template float func2<int>(int); // precise
  template <> float func2<long>(long) { ... } // not precise


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129464/new/

https://reviews.llvm.org/D129464

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to