Commit a90b0cdd by Martin Sebor Committed by Martin Sebor

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
parent 4bcd47e2
2019-02-21 Martin Sebor <msebor@redhat.com>
* doc/extend.texi (__clear_cache): Correct signature.
2019-02-21 Ian Lance Taylor <iant@golang.org> 2019-02-21 Ian Lance Taylor <iant@golang.org>
PR go/89170 PR go/89170
......
...@@ -13073,7 +13073,7 @@ void foo (void) ...@@ -13073,7 +13073,7 @@ void foo (void)
@end deftypefn @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 This function is used to flush the processor's instruction cache for
the region of memory between @var{begin} inclusive and @var{end} the region of memory between @var{begin} inclusive and @var{end}
exclusive. Some targets require that the instruction cache be exclusive. Some targets require that the instruction cache be
......
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> 2019-02-20 Uroš Bizjak <ubizjak@gmail.com>
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): * config/alpha/linux-unwind.h (alpha_fallback_frame_state):
......
...@@ -2162,11 +2162,14 @@ __eprintf (const char *string, const char *expression, ...@@ -2162,11 +2162,14 @@ __eprintf (const char *string, const char *expression,
/* Clear part of an instruction cache. */ /* Clear part of an instruction cache. */
void void
__clear_cache (char *beg __attribute__((__unused__)), __clear_cache (void *beg __attribute__((__unused__)),
char *end __attribute__((__unused__))) void *end __attribute__((__unused__)))
{ {
#ifdef CLEAR_INSN_CACHE #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 */ #endif /* CLEAR_INSN_CACHE */
} }
......
...@@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif #endif
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t); 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 *) extern void __eprintf (const char *, const char *, unsigned int, const char *)
__attribute__ ((__noreturn__)); __attribute__ ((__noreturn__));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment