do not merge: cherry-picked ecd23c09e87d7088285f8b7c2eeb98815c2e69e0 from master branch
diff --git a/libacc/acc.cpp b/libacc/acc.cpp
index b06ad53..684d807 100644
--- a/libacc/acc.cpp
+++ b/libacc/acc.cpp
@@ -8,6 +8,9 @@
  *
  */
 
+#define LOG_TAG "acc"
+#include <cutils/log.h>
+
 #include <ctype.h>
 #include <errno.h>
 #include <stdarg.h>
@@ -51,6 +54,8 @@
 #define ENABLE_ARM_DISASSEMBLY
 // #define PROVIDE_TRACE_CODEGEN
 
+#define assert(b) assertImpl(b, __LINE__)
+
 namespace acc {
 
 // Subset of STL vector.
@@ -562,10 +567,11 @@
             va_end(ap);
         }
 
-        void assert(bool test) {
+        void assertImpl(bool test, int line) {
             if (!test) {
+                error("code generator assertion failed at line %s:%d.", __FILE__, line);
+                LOGD("code generator assertion failed at line %s:%d.", __FILE__, line);
                 * (char*) 0 = 0;
-                error("code generator assertion failed.");
             }
         }
 
@@ -3436,8 +3442,9 @@
         * (char*) 0 = 0;
     }
 
-    void assert(bool isTrue) {
+    void assertImpl(bool isTrue, int line) {
         if (!isTrue) {
+            LOGD("assertion failed at line %s:%d.", __FILE__, line);
             internalError();
         }
     }