Closed Bug 1291255 Opened 8 years ago Closed 8 years ago

Build failure on Linux x86_64 using clang/libc++

Categories

(Firefox Build System :: General, defect)

48 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1269171

People

(Reporter: krejzi, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
Build ID: 20160721144529

Steps to reproduce:

I was trying to build firefox using clang++ 3.9 svn, which uses libc++ as its standard library on Linux x86_64.


Actual results:

/usr/bin/clang++ -std=gnu++11 -o TimeStamp.o -c -I/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/armin/src/firefox-48.0/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DIMPL_MFBT -I/home/armin/src/firefox-48.0/mozglue/misc -I/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/mozglue/misc  -I/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include  -I/usr/include/nspr -I/usr/include/nss    -I/usr/include/pixman-1   -fPIC  -DMOZILLA_CLIENT -include /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/mozilla-config.h -MD -MP -MF .deps/TimeStamp.o.pp -Qunused-arguments  -Qunused-arguments -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wc++11-compat-pedantic -Wc++14-compat -Wc++14-compat-pedantic -Wc++1z-compat -Wclass-varargs -Wimplicit-fallthrough -Wloop-analysis -Wthread-safety -Wno-invalid-offsetof -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe  -g -Os -fomit-frame-pointer  -Wshadow   /home/armin/src/firefox-48.0/mozglue/misc/TimeStamp.cpp
In file included from /home/armin/src/firefox-48.0/mozglue/misc/TimeStamp.cpp:11:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/TimeStamp.h:13:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/FloatingPoint.h:15:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/MathAlgorithms.h:15:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/stl_wrappers/cmath:33:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/system_wrappers/new:3:
In file included from /usr/bin/../include/c++/v1/new:70:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/system_wrappers/exception:3:
In file included from /usr/bin/../include/c++/v1/exception:84:
In file included from /home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/stl_wrappers/cstdio:39:
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:184:33: error: no type named 'bad_alloc' in namespace 'std'
void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
                                ^~~~~~~~~~~~~~~~~~~~~~~~
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:175:34: note: expanded from macro 'MOZALLOC_THROW_BAD_ALLOC'
#define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:172:63: note: expanded from macro 'MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS'
#define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS throw(std::bad_alloc)
                                                         ~~~~~^
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:190:44: error: no type named 'nothrow_t' in namespace 'std'
void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
                                      ~~~~~^
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:196:35: error: no type named 'bad_alloc' in namespace 'std'
void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC
                                  ^~~~~~~~~~~~~~~~~~~~~~~~
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:175:34: note: expanded from macro 'MOZALLOC_THROW_BAD_ALLOC'
#define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:172:63: note: expanded from macro 'MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS'
#define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS throw(std::bad_alloc)
                                                         ~~~~~^
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:202:46: error: no type named 'nothrow_t' in namespace 'std'
void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
                                        ~~~~~^
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:214:44: error: no type named 'nothrow_t' in namespace 'std'
void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
                                      ~~~~~^
/home/armin/src/firefox-48.0/obj-x86_64-pc-linux-gnu/dist/include/mozilla/mozalloc.h:226:46: error: no type named 'nothrow_t' in namespace 'std'
void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
                                        ~~~~~^
6 errors generated.


Expected results:

It should've compiled correctly. I was able to build firefox 47.0 using clang++ 3.8, but not 47.0.1 and 48.0 using clang++ 3.9 svn, which is currently in RC stage.

clang version 3.9.0 (branches/release_39 276821)
Component: Untriaged → Build Config
Product: Firefox → Core
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.