https://bugs.llvm.org/show_bug.cgi?id=48489

            Bug ID: 48489
           Summary: __builtin___clear_cache() has a different prototype
                    than GCC
           Product: clang
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C
          Assignee: unassignedclangb...@nondot.org
          Reporter: alx.manpa...@gmail.com
                CC: blitzrak...@gmail.com, dgre...@apple.com,
                    erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
                    richard-l...@metafoo.co.uk

GCC provides:

void __builtin___clear_cache(void *begin, void *end);

See: https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

Clang provides:

void __builtin___clear_cache(char *begin, char *end);

I think GCC used char *' in the past, and moved to 'void *', but I'm not sure
about this.  Please, use the same prototype that GCC uses, for compatibility
reasons.

I don't know much about internals of Clang/LLVM, but the only source I could
find that defines the types for the prototype is:
https://github.com/llvm/llvm-project/blob/7faf62a80bfc3a9dfe34133681fcc31f8e8d658b/clang/include/clang/Basic/Builtins.def#L583

If you can confirm that, or tell me which other sources need to be modified,
I'll be happy to submit a patch.

And a reminder to myself when this bug is closed:  Update cacheflush(2) manual
page.

Related linux-man@ thread:
https://lore.kernel.org/linux-man/747d56e0-c102-ab40-add4-530a48a43...@gmx.de/T/#t

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to