Gcc5 adds additional lines stating line numbers before and
after __attribute__() which need to be skipped.

Signed-off-by: Egbert Eich <[email protected]>
---
 hw/xfree86/sdksyms.sh | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 2305073..05ac410 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -350,13 +350,25 @@ BEGIN {
     if (sdk) {
        n = 3;
 
+        # skip line numbers GCC 5 adds before __attribute__
+        while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+           getline;
+           n = 1;
+        }
+
        # skip attribute, if any
        while ($n ~ /^(__attribute__|__global)/ ||
            # skip modifiers, if any
            $n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ ||
            # skip pointer
-           $n ~ /^[a-zA-Z0-9_]*\*$/)
+           $n ~ /^[a-zA-Z0-9_]*\*$/) {
            n++;
+            # skip line numbers GCC 5 adds after __attribute__
+            while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+               getline;
+               n = 1;
+            }
+        }
 
        # type specifier may not be set, as in
        #   extern _X_EXPORT unsigned name(...)
-- 
1.8.4.5

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to