www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14452] New: Floating point invalid operation when returning a

https://issues.dlang.org/show_bug.cgi?id=14452

          Issue ID: 14452
           Summary: Floating point invalid operation when returning a
                    structure containing a float field
           Product: D
           Version: unspecified
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: regression
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: rumbu rumbu.ro

//D 2.067 regression from D 2.066 

import std.math;
import std.stdio;

struct S {
    float f;
    this(float f) {
       this.f = f; 
    }
}

S foo() { 
  FloatingPointControl fpCtrl; 
  fpCtrl.enableExceptions(FloatingPointControl.severeExceptions);
  return S(0f); //exception thrown

  //workaround:
  //auto s = S(0f);
  //return s;
}

void main(string[] args) {
   auto s = foo();
}

--
Apr 16 2015