void use(const int *);

void foo(void)
{
  int i;
  use(&i);
}

At least for languages where 'const' is actually enforced, we should warn for
this. For languages where the 'const' can be cast away and 'i' can be
initialized by 'use' the situation is less clear (although personally I think
we should warn anyway). This is one part of PR10138.

"the question whether an argument is actually used or not is secondary, the
fact that we pass an uninitialized variable to which only read access is
possible 
is definitely worth a warning."
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10138#c8


-- 
           Summary: warn for read-only uninitialized variables passed as
                    arguments
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: manu at gcc dot gnu dot org
OtherBugsDependingO 10138
             nThis:


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

Reply via email to