[U-Boot,2/4] buildman: Detect dtc warnings

Message ID 20181106230213.144851-2-sjg@chromium.org
State New
Delegated to: Simon Glass
Headers show
Series
  • [U-Boot,1/4] buildman: Only print toolchain probing with -v
Related show

Commit Message

Simon Glass Nov. 6, 2018, 11:02 p.m.
At present messages from the device-tree compiler like this:

  arch/arm/dts/socfpga_arria10_socdk_sdmmc.dtb: Warning
     (avoid_unnecessary_addr_size): /clocks: unnecessary
     #address-cells/#size-cells without "ranges" or child "reg" property

are detected as errors since they don't match the gcc warning regex. Add a
new one for dtc to fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 tools/buildman/builder.py | 4 +++-
 tools/buildman/test.py    | 5 +++--
 2 files changed, 6 insertions(+), 3 deletions(-)

Patch

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 05f82995416..fc80705a455 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -290,6 +290,7 @@  class Builder:
         self._re_function = re.compile('(.*): In function.*')
         self._re_files = re.compile('In file included from.*')
         self._re_warning = re.compile('(.*):(\d*):(\d*): warning: .*')
+        self._re_dtb_warning = re.compile('(.*): Warning .*')
         self._re_note = re.compile('(.*):(\d*):(\d*): note: this is the location of the previous.*')
 
         self.queue = Queue.Queue()
@@ -788,7 +789,8 @@  class Builder:
                             self._re_files.match(line)):
                         last_func = line
                     else:
-                        is_warning = self._re_warning.match(line)
+                        is_warning = (self._re_warning.match(line) or
+                                      self._re_dtb_warning.match(line))
                         is_note = self._re_note.match(line)
                         if is_warning or (last_was_warning and is_note):
                             if last_func:
diff --git a/tools/buildman/test.py b/tools/buildman/test.py
index e0c9d6da6a0..90ab35b1664 100644
--- a/tools/buildman/test.py
+++ b/tools/buildman/test.py
@@ -46,8 +46,9 @@  make[1]: *** [main.o] Error 1
 make: *** [common/libcommon.o] Error 2
 Make failed
 ''',
-    '''main.c: In function 'main_loop3':
-main.c:280:6: warning: unused variable 'mary' [-Wunused-variable]
+    '''arch/arm/dts/socfpga_arria10_socdk_sdmmc.dtb: Warning \
+(avoid_unnecessary_addr_size): /clocks: unnecessary #address-cells/#size-cells \
+without "ranges" or child "reg" property
 ''',
     '''powerpc-linux-ld: warning: dot moved backwards before `.bss'
 powerpc-linux-ld: warning: dot moved backwards before `.bss'