This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/26671] New: Missing "warning: reference to local variable returned"


class test
{
public:
  int secondMember;
};
class test2
{
public:
  int requiredForTest;
  int secondMember;

};
int &
returnRefToLocalOK()
{
  test local;

  return local.secondMember;
}
int &
returnRefToLocalMissing()
{
  test2 local;

  return local.secondMember;
}
int
main()
{
  return returnRefToLocalOK();
  return returnRefToLocalMissing();
}

===========
gcc fails to generate the warning "reference to local variable returned" for
function returnRefToLocalMissing().


Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/specs
Configured with: ../configure 
Thread model: posix
gcc version 3.3.6

the command line and resulting output:
gcc test.cc
test.cc: In function `int& returnRefToLocalOK()':
test.cc:16: warning: reference to local variable `local' returned

the preprocessed file:
# 1 "test.cc"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test.cc"
class test
{
public:
  int secondMember;
};
class test2
{
public:
  int requiredForTest;
  int secondMember;

};
int &
returnRefToLocalOK()
{
  test local;

  return local.secondMember;
}
int &
returnRefToLocalMissing()
{
  test2 local;

  return local.secondMember;
}
int
main()
{
  return returnRefToLocalOK();
  return returnRefToLocalMissing();
}

Also  occurs in gcc versions 3.3.3 through 3.3.5.


-- 
           Summary: Missing "warning: reference to local variable returned"
           Product: gcc
           Version: 3.3.6
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: carolh at sinavigator dot com
  GCC host triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26671


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]