OLD | NEW |
1 #! -*- python -*- | 1 #! -*- python -*- |
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import atexit | 6 import atexit |
7 import glob | 7 import glob |
8 import os | 8 import os |
9 import platform | 9 import platform |
10 import shutil | 10 import shutil |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 pre_base_env['ENV']['CYGWIN'] = os.environ.get('CYGWIN', 'nodosfilewarning') | 528 pre_base_env['ENV']['CYGWIN'] = os.environ.get('CYGWIN', 'nodosfilewarning') |
529 | 529 |
530 if pre_base_env.Bit('werror'): | 530 if pre_base_env.Bit('werror'): |
531 werror_flags = ['-Werror'] | 531 werror_flags = ['-Werror'] |
532 else: | 532 else: |
533 werror_flags = [] | 533 werror_flags = [] |
534 | 534 |
535 # Allow variadic macros | 535 # Allow variadic macros |
536 werror_flags = werror_flags + ['-Wno-variadic-macros'] | 536 werror_flags = werror_flags + ['-Wno-variadic-macros'] |
537 | 537 |
| 538 # Clang Bug: |
| 539 # array-bounds detection gives false positive on valid code in GLibC. |
| 540 # BUG= http://llvm.org/bugs/show_bug.cgi?id=11536 |
| 541 if pre_base_env.Bit('bitcode') and pre_base_env.Bit('nacl_glibc'): |
| 542 werror_flags += ['-Wno-array-bounds'] |
| 543 |
538 # ---------------------------------------------------------- | 544 # ---------------------------------------------------------- |
539 # Method to make sure -pedantic, etc, are not stripped from the | 545 # Method to make sure -pedantic, etc, are not stripped from the |
540 # default env, since occasionally an engineer will be tempted down the | 546 # default env, since occasionally an engineer will be tempted down the |
541 # dark -- but wide and well-trodden -- path of expediency and stray | 547 # dark -- but wide and well-trodden -- path of expediency and stray |
542 # from the path of correctness. | 548 # from the path of correctness. |
543 | 549 |
544 def EnsureRequiredBuildWarnings(env): | 550 def EnsureRequiredBuildWarnings(env): |
545 if env.Bit('linux') or env.Bit('mac'): | 551 if env.Bit('linux') or env.Bit('mac'): |
546 required_env_flags = set(['-pedantic', '-Wall'] + werror_flags) | 552 required_env_flags = set(['-pedantic', '-Wall'] + werror_flags) |
547 ccflags = set(env.get('CCFLAGS')) | 553 ccflags = set(env.get('CCFLAGS')) |
(...skipping 3223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3771 nacl_env.ValidateSdk() | 3777 nacl_env.ValidateSdk() |
3772 | 3778 |
3773 if BROKEN_TEST_COUNT > 0: | 3779 if BROKEN_TEST_COUNT > 0: |
3774 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 3780 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
3775 if GetOption('brief_comstr'): | 3781 if GetOption('brief_comstr'): |
3776 msg += " Add --verbose to the command line for more information." | 3782 msg += " Add --verbose to the command line for more information." |
3777 print msg | 3783 print msg |
3778 | 3784 |
3779 # separate warnings from actual build output | 3785 # separate warnings from actual build output |
3780 Banner('B U I L D - O U T P U T:') | 3786 Banner('B U I L D - O U T P U T:') |
OLD | NEW |