diff options
author | Martin Sebor <msebor@redhat.com> | 2019-02-21 23:23:12 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2019-02-21 16:23:12 -0700 |
commit | a90b0cdd444f6dde1084a439862cf507f6d3b2ae (patch) | |
tree | 373cbb191e0a6d29969a8327839aac3d1f5042e0 | |
parent | 4bcd47e2e1975635ea18d61accf7dcbf64306aa7 (diff) |
extend.texi (__clear_cache): Correct signature.
gcc/ChangeLog:
* doc/extend.texi (__clear_cache): Correct signature.
libgcc/ChangeLog:
* libgcc2.h (__clear_cache): Correct signature.
* libgcc2.c (__clear_cache): Same.
gcc/testsuite/ChangeLog:
* gcc.dg/Wbuiltin-declaration-mismatch-12.c: New test.
From-SVN: r269082
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 2 | ||||
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/libgcc2.c | 9 | ||||
-rw-r--r-- | libgcc/libgcc2.h | 2 |
5 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 46cc048e7eb..c8cecb35de0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2019-02-21 Martin Sebor <msebor@redhat.com> + + * doc/extend.texi (__clear_cache): Correct signature. + 2019-02-21 Ian Lance Taylor <iant@golang.org> PR go/89170 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index e7af5a6aa53..545d8510f9d 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -13073,7 +13073,7 @@ void foo (void) @end deftypefn -@deftypefn {Built-in Function} void __builtin___clear_cache (char *@var{begin}, char *@var{end}) +@deftypefn {Built-in Function} void __builtin___clear_cache (void *@var{begin}, void *@var{end}) This function is used to flush the processor's instruction cache for the region of memory between @var{begin} inclusive and @var{end} exclusive. Some targets require that the instruction cache be diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 1ada0793546..950eeabb061 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2019-02-21 Martin Sebor <msebor@redhat.com> + + * libgcc2.h (__clear_cache): Correct signature. + * libgcc2.c (__clear_cache): Same. + 2019-02-20 Uroš Bizjak <ubizjak@gmail.com> * config/alpha/linux-unwind.h (alpha_fallback_frame_state): diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index 04d3185e805..763b5fabd51 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -2162,11 +2162,14 @@ __eprintf (const char *string, const char *expression, /* Clear part of an instruction cache. */ void -__clear_cache (char *beg __attribute__((__unused__)), - char *end __attribute__((__unused__))) +__clear_cache (void *beg __attribute__((__unused__)), + void *end __attribute__((__unused__))) { #ifdef CLEAR_INSN_CACHE - CLEAR_INSN_CACHE (beg, end); + /* Cast the void* pointers to char* as some implementations + of the macro assume the pointers can be subtracted from + one another. */ + CLEAR_INSN_CACHE ((char *) beg, (char *) end); #endif /* CLEAR_INSN_CACHE */ } diff --git a/libgcc/libgcc2.h b/libgcc/libgcc2.h index c9ce2d3b4c7..d7988f1dd78 100644 --- a/libgcc/libgcc2.h +++ b/libgcc/libgcc2.h @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t); -extern void __clear_cache (char *, char *); +extern void __clear_cache (void *, void *); extern void __eprintf (const char *, const char *, unsigned int, const char *) __attribute__ ((__noreturn__)); |