The following (admittedly ugly) piece of code works on older gccs, and
segfaults on 4.3:


#include <assert.h>
#include <string.h>

static void something();

int main(int argc, char **argv) {
        something("test");
}

static void something(const char *whatever) {
        assert(!strcmp(whatever, "test"));
}



Changing the initial declaration of something() to static void something(char
*whatever) makes the problem go away.


-- 
           Summary: [4.3 regression] calling a function with undefined
                    parameters causes segmentation fault at -O1 or higher
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bero at arklinux dot org
 GCC build triplet: i586-pc-linux-gnu
  GCC host triplet: i586-pc-linux-gnu
GCC target triplet: i586-pc-linux-gnu


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

Reply via email to