This is the mail archive of the gcc-patches@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]

Builtin-optimization testsuite reorg


In the course of working on IMA I found I had to make the C front end
pickier about certain undefined constructs, which happen to be used
extensively in one corner of the test suite: the tests for complete
optimization of semi-built-in C library primitives.  This construct

 extern char *strcpy(char *, const char *);
 int main(void)
 {
   ... use strcpy ...
 }
 static char *strcpy(char *, const char *) { abort(); }

is now rejected at compile time.  It's not possible to do anything
else within the c-torture/execute/ harness, but fortunately there's
another harness specifically designed for this sort of test:
c-torture/execute/builtins/.  Accordingly, this patch moves all of the
existing tests that fit the above pattern from execute to
execute/builtins and adjusts them for that framework.  I also took the
opportunity to give the existing tests in that directory more
descriptive names, and in some cases break them up so that each tests
just one library routine.

Tested with 'make check-gcc' on i686-linux.

zw


        * gcc.c-torture/execute/builtin-abs-1.c
        * gcc.c-torture/execute/builtin-abs-2.c
        * gcc.c-torture/execute/builtin-complex-1.c
        * gcc.c-torture/execute/builtins/string-1-lib.c
        * gcc.c-torture/execute/builtins/string-1.c
        * gcc.c-torture/execute/builtins/string-2-lib.c
        * gcc.c-torture/execute/builtins/string-2.c
        * gcc.c-torture/execute/builtins/string-3-lib.c
        * gcc.c-torture/execute/builtins/string-3.c
        * gcc.c-torture/execute/builtins/string-4-lib.c
        * gcc.c-torture/execute/builtins/string-4.c
        * gcc.c-torture/execute/builtins/string-5-lib.c
        * gcc.c-torture/execute/builtins/string-5.c
        * gcc.c-torture/execute/builtins/string-6-lib.c
        * gcc.c-torture/execute/builtins/string-6.c
        * gcc.c-torture/execute/builtins/string-7-lib.c
        * gcc.c-torture/execute/builtins/string-7.c
        * gcc.c-torture/execute/builtins/string-8-lib.c
        * gcc.c-torture/execute/builtins/string-8.c
        * gcc.c-torture/execute/builtins/string-9-lib.c
        * gcc.c-torture/execute/builtins/string-9.c
        * gcc.c-torture/execute/builtins/string-asm-1-lib.c
        * gcc.c-torture/execute/builtins/string-asm-1.c
        * gcc.c-torture/execute/builtins/string-asm-2-lib.c
        * gcc.c-torture/execute/builtins/string-asm-2.c
        * gcc.c-torture/execute/stdio-opt-1.c
        * gcc.c-torture/execute/stdio-opt-2.c
        * gcc.c-torture/execute/stdio-opt-3.c
        * gcc.c-torture/execute/string-opt-1.c
        * gcc.c-torture/execute/string-opt-10.c
        * gcc.c-torture/execute/string-opt-11.c
        * gcc.c-torture/execute/string-opt-12.c
        * gcc.c-torture/execute/string-opt-13.c
        * gcc.c-torture/execute/string-opt-14.c
        * gcc.c-torture/execute/string-opt-15.c
        * gcc.c-torture/execute/string-opt-16.c
        * gcc.c-torture/execute/string-opt-2.c
        * gcc.c-torture/execute/string-opt-6.c
        * gcc.c-torture/execute/string-opt-7.c
        * gcc.c-torture/execute/string-opt-8.c:
        Replace with ...

        * gcc.c-torture/execute/builtins/abs-2.c
        * gcc.c-torture/execute/builtins/abs-3.c
        * gcc.c-torture/execute/builtins/complex-1.c
        * gcc.c-torture/execute/builtins/fprintf.c
        * gcc.c-torture/execute/builtins/fputs.c
        * gcc.c-torture/execute/builtins/memcmp.c
        * gcc.c-torture/execute/builtins/memmove.c
        * gcc.c-torture/execute/builtins/memops-asm.c
        * gcc.c-torture/execute/builtins/mempcpy-2.c
        * gcc.c-torture/execute/builtins/mempcpy.c
        * gcc.c-torture/execute/builtins/memset.c
        * gcc.c-torture/execute/builtins/printf.c
        * gcc.c-torture/execute/builtins/sprintf.c
        * gcc.c-torture/execute/builtins/strcat.c
        * gcc.c-torture/execute/builtins/strchr.c
        * gcc.c-torture/execute/builtins/strcmp.c
        * gcc.c-torture/execute/builtins/strcpy.c
        * gcc.c-torture/execute/builtins/strcspn.c
        * gcc.c-torture/execute/builtins/strlen-2.c
        * gcc.c-torture/execute/builtins/strlen.c
        * gcc.c-torture/execute/builtins/strncat.c
        * gcc.c-torture/execute/builtins/strncmp-2.c
        * gcc.c-torture/execute/builtins/strncmp.c
        * gcc.c-torture/execute/builtins/strncpy.c
        * gcc.c-torture/execute/builtins/strpbrk.c
        * gcc.c-torture/execute/builtins/strpcpy-2.c
        * gcc.c-torture/execute/builtins/strpcpy.c
        * gcc.c-torture/execute/builtins/strrchr.c
        * gcc.c-torture/execute/builtins/strspn.c
        * gcc.c-torture/execute/builtins/strstr-asm.c
        * gcc.c-torture/execute/builtins/strstr.c:
        ... these new files.

        * gcc.c-torture/execute/builtins/abs-2-lib.c
        * gcc.c-torture/execute/builtins/abs-3-lib.c
        * gcc.c-torture/execute/builtins/complex-1-lib.c
        * gcc.c-torture/execute/builtins/fprintf-lib.c
        * gcc.c-torture/execute/builtins/fputs-lib.c
        * gcc.c-torture/execute/builtins/memcmp-lib.c
        * gcc.c-torture/execute/builtins/memmove-lib.c
        * gcc.c-torture/execute/builtins/memops-asm-lib.c
        * gcc.c-torture/execute/builtins/mempcpy-2-lib.c
        * gcc.c-torture/execute/builtins/mempcpy-lib.c
        * gcc.c-torture/execute/builtins/memset-lib.c
        * gcc.c-torture/execute/builtins/printf-lib.c
        * gcc.c-torture/execute/builtins/sprintf-lib.c
        * gcc.c-torture/execute/builtins/strcat-lib.c
        * gcc.c-torture/execute/builtins/strchr-lib.c
        * gcc.c-torture/execute/builtins/strcmp-lib.c
        * gcc.c-torture/execute/builtins/strcpy-lib.c
        * gcc.c-torture/execute/builtins/strcspn-lib.c
        * gcc.c-torture/execute/builtins/strlen-2-lib.c
        * gcc.c-torture/execute/builtins/strlen-lib.c
        * gcc.c-torture/execute/builtins/strncat-lib.c
        * gcc.c-torture/execute/builtins/strncmp-2-lib.c
        * gcc.c-torture/execute/builtins/strncmp-lib.c
        * gcc.c-torture/execute/builtins/strncpy-lib.c
        * gcc.c-torture/execute/builtins/strpbrk-lib.c
        * gcc.c-torture/execute/builtins/strpcpy-2-lib.c
        * gcc.c-torture/execute/builtins/strpcpy-lib.c
        * gcc.c-torture/execute/builtins/strrchr-lib.c
        * gcc.c-torture/execute/builtins/strspn-lib.c
        * gcc.c-torture/execute/builtins/strstr-asm-lib.c
        * gcc.c-torture/execute/builtins/strstr-lib.c
        * gcc.c-torture/execute/builtins/lib/abs.c
        * gcc.c-torture/execute/builtins/lib/fprintf.c
        * gcc.c-torture/execute/builtins/lib/memset.c
        * gcc.c-torture/execute/builtins/lib/printf.c
        * gcc.c-torture/execute/builtins/lib/sprintf.c
        * gcc.c-torture/execute/builtins/lib/strcpy.c
        * gcc.c-torture/execute/builtins/lib/strcspn.c
        * gcc.c-torture/execute/builtins/lib/strncat.c
        * gcc.c-torture/execute/builtins/lib/strncmp.c
        * gcc.c-torture/execute/builtins/lib/strncpy.c
        * gcc.c-torture/execute/builtins/lib/strpbrk.c
        * gcc.c-torture/execute/builtins/lib/strspn.c
        * gcc.c-torture/execute/builtins/lib/strstr.c:
        New files containing support routines.

        * gcc.c-torture/execute/builtins/abs-1.c: Remove unnecessary
        declaration. 
        * gcc.c-torture/execute/builtins/lib/main.c: Define link_error
        when not optimizing.

Attachment: builtin-testsuite-reorg.diff.gz
Description: Binary data


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