Fix the build with a newer LLVM.

Unify all our "noinline" variants to the current most common one, not
least because the new [[noinline]] syntax is fussier about where it goes.

Test: treehugger
Change-Id: Icfcb75c9d687f0f05c19f66ee778fd8962519436
diff --git a/libutils/CallStack_test.cpp b/libutils/CallStack_test.cpp
index 2ea1911..2cfaf61 100644
--- a/libutils/CallStack_test.cpp
+++ b/libutils/CallStack_test.cpp
@@ -22,7 +22,7 @@
 #include <gtest/gtest.h>
 #include <utils/CallStack.h>
 
-[[clang::noinline]] extern "C" void CurrentCaller(android::String8& backtrace) {
+__attribute__((__noinline__)) extern "C" void CurrentCaller(android::String8& backtrace) {
     android::CallStack cs;
     cs.update();
     backtrace = cs.toString();
@@ -35,7 +35,8 @@
     ASSERT_NE(-1, backtrace.find("(CurrentCaller")) << "Full backtrace:\n" << backtrace;
 }
 
-[[clang::noinline]] extern "C" void ThreadBusyWait(std::atomic<pid_t>* tid, volatile bool* done) {
+__attribute__((__noinline__)) extern "C" void ThreadBusyWait(std::atomic<pid_t>* tid,
+                                                             volatile bool* done) {
     *tid = android::base::GetThreadId();
     while (!*done) {
     }