diff options
author | Nick Clifton <nickc@redhat.com> | 2016-01-12 11:43:59 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2016-01-12 11:43:59 +0000 |
commit | b832f61ed284b78d01e5e3fb9b906bccdc71aba3 (patch) | |
tree | 301c9c4657cc8c7978e5315041d857d9fbdf6bdb /gcc | |
parent | 8eac49b1b601fd9eba47c14f9ebea5779446be46 (diff) | |
download | gcc-b832f61ed284b78d01e5e3fb9b906bccdc71aba3.zip gcc-b832f61ed284b78d01e5e3fb9b906bccdc71aba3.tar.gz gcc-b832f61ed284b78d01e5e3fb9b906bccdc71aba3.tar.bz2 |
re PR testsuite/68913 (gcc.dg/lto/pr61886 FAILs)
PR target/68913
* gcc.dg/lto/pr61886_0.c: Rename the external function called
to fread so that it will be found in all target runtimes.
From-SVN: r232264
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/pr61886_0.c | 17 |
2 files changed, 16 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d827695..9dbe7cc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-01-12 Nick Clifton <nickc@redhat.com> + + PR target/68913 + * gcc.dg/lto/pr61886_0.c: Rename the external function called + to fread so that it will be found in all target runtimes. + 2016-01-12 Richard Biener <rguenther@suse.de> PR tree-optimization/69053 diff --git a/gcc/testsuite/gcc.dg/lto/pr61886_0.c b/gcc/testsuite/gcc.dg/lto/pr61886_0.c index c583774..ce6eb98 100644 --- a/gcc/testsuite/gcc.dg/lto/pr61886_0.c +++ b/gcc/testsuite/gcc.dg/lto/pr61886_0.c @@ -4,12 +4,15 @@ typedef __SIZE_TYPE__ size_t; typedef struct _IO_FILE FILE; -extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)); -extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))); +#define STRING1(a) #a +#define STRING2(a) STRING1(a) + +extern size_t fread (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ (STRING2(__USER_LABEL_PREFIX__) "fread") __attribute__ ((__warn_unused_result__)); +extern size_t fread_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ (STRING2(__USER_LABEL_PREFIX__) "fread") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t -fread (void *__restrict __ptr, size_t __size, size_t __n, +local_fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) @@ -17,9 +20,9 @@ fread (void *__restrict __ptr, size_t __size, size_t __n, if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) - return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); + return fread (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) - return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); + return fread_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } } @@ -28,6 +31,6 @@ FILE *fp; int main () { char file_contents[4096]; - /* We shouldn't get this resolved to a call to __fread_chk_warn. */ - return fread (file_contents, 1, nmemb, fp); + /* We shouldn't get this resolved to a call to fread_warn. */ + return local_fread (file_contents, 1, nmemb, fp); } |