https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64870

            Bug ID: 64870
           Summary: value not set via reference
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: conradsand.arma at gmail dot com

Created attachment 34624
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34624&action=edit
rebug.cpp

gcc 4.9.2 fails to set a value through a reference.

Consider the following code:

#include <iostream>

struct blah {
  inline double setval(unsigned int& x) const
    {
    x = 123;
    return 456.0;
    }
  };


int
main(int argc, char** argv) {
  blah blah_instance;

  unsigned int val = 9999;

  std::cout << blah_instance.setval(val) << "  val: " << val << std::endl;
  std::cout << blah_instance.setval(val) << "  val: " << val << std::endl;

  return 0;
  }

when compiled with gcc 4.9.2, the above program produces the following output:
456  val: 9999
456  val: 123

when compiled with clang 3.5:
456  val: 123
456  val: 123

Reply via email to