Compiling the following code snippet gives no errors:

int main(){
  foo();
  return 0;
}
int foo(int x){
  return 0;
}
If return type of foo is changed to void, it gives the following errors: (which
i think would be the expected in the first case, too)

wtf.c:7: error: conflicting types for 'foo'
wtf.c:3: error: previous implicit declaration of 'foo' was here

Tested on 3.4.5 and 4.1.1


-- 
           Summary: No error when "too few arguments" or "conflicting types"
                    would be expected
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: alexer at mbnet dot fi


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

Reply via email to