From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gcc.dg/torture/pr39204.c | 131 +++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/torture/pr39204.c (limited to 'gcc/testsuite/gcc.dg/torture/pr39204.c') diff --git a/gcc/testsuite/gcc.dg/torture/pr39204.c b/gcc/testsuite/gcc.dg/torture/pr39204.c new file mode 100644 index 000000000..1389a52ec --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr39204.c @@ -0,0 +1,131 @@ +/* { dg-do compile } */ +/* { dg-options "-w" } */ + +__extension__ typedef __SIZE_TYPE__ size_t; +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +__extension__ typedef __u_quad_t __dev_t; +__extension__ typedef unsigned int __uid_t; +__extension__ typedef unsigned int __gid_t; +__extension__ typedef unsigned long int __ino_t; +__extension__ typedef __u_quad_t __ino64_t; +__extension__ typedef unsigned int __mode_t; +__extension__ typedef unsigned int __nlink_t; +__extension__ typedef long int __off_t; +__extension__ typedef __quad_t __off64_t; +__extension__ typedef int __pid_t; +__extension__ typedef struct { + int __val[2]; +} __fsid_t; +__extension__ typedef long int __clock_t; +__extension__ typedef unsigned int __id_t; +typedef struct _IO_FILE FILE; +typedef struct _IO_FILE __FILE; +typedef struct { + int __count; + union { + unsigned int __wch; + char __wchb[4]; + } + __value; +} __mbstate_t; +typedef struct { + __off_t __pos; + __mbstate_t __state; +} _G_fpos_t; +typedef struct { + __off64_t __pos; + __mbstate_t __state; +} _G_fpos64_t; +typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); +typedef struct _IO_FILE _IO_FILE; +extern struct _IO_FILE_plus _IO_2_1_stderr_; +extern int fputs (__const char *__restrict __s, FILE * __restrict __stream); +extern char *strstr (__const char *__haystack, __const char *__needle) + __attribute__ ((__nonnull__ (1, 2))); + extern char *rindex (__const char *__s, int __c) __attribute__ ((__nonnull__ (1))); +extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) + __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + char *mystrlwr (char *string); + char *m_replace_filename (const char *path, const char *filename); + typedef struct LINE { + char *text; + struct LINE *next; + int flags; + } LINE; +typedef struct TOC { + char *text; + char *alt; + struct TOC *next; + int root; + int texinfoable; + int htmlable; + int otherfile; +} TOC; +static int _empty_count; +extern char *_word_substitution[256]; +static void _output_sorted_nested_toc (TOC ** list, unsigned int num_items); +static char *_do_text_substitution (char *input); +static int _toc_scmp (const void *e1, const void *e2) +{ + TOC *t1 = *((TOC **) e1); + TOC *t2 = *((TOC **) e2); + return mystricmp (t1->text, t2->text); +} +static void _output_buffered_text (void) { if (_empty_count) ; } +void _post_process_filename (char *filename) +{ + int code_scanning = 0; + char *new_filename, *p; + char *line; + FILE *f1 = 0, *f2 = 0; + if (!new_filename || strlen (new_filename) < 2) + new_filename[strlen (filename) - 1] = 'x'; + if (!f1 || !f2) + while ((line = m_fgets (f1))) + { + line = _do_text_substitution (line); + fputs (line, f2); + } + if (remove (filename)) + cancel: + if (f1) + if (f2) + if (new_filename) + ; +} +static void _close_html_file (FILE * file) +{ + int f; + for (f = 0; _word_substitution[f]; f++) + ; +} +static __attribute__((always_inline)) +char * _do_text_substitution (char *input) +{ + int start, end, middle, f; + char *temp, *found, *reader; + for (f = 0; _word_substitution[f]; f++) + { + reader = input; + while ((found = strstr (reader, _word_substitution[f]))) + { + start = found - input; + input = temp; + reader = temp + start + middle; + } + } + return input; +} -- cgit v1.2.3