Open Bug 1258191 Opened 8 years ago Updated 2 years ago

max_align_t violates posix namespace

Categories

(Core :: General, defect)

defect

Tracking

()

Tracking Status
firefox48 --- affected

People

(Reporter: martin, Unassigned)

References

Details

This was spotted due to a namespace protection issue in NetBSD-current:

gcc -o Unified_c_media_libnestegg_src0.o -c
+-I/usr/pkgsrc/www/firefox/work/build/dist/system_wrappers -include
+/usr/pkgsrc/www/firefox/work/firefox-45.0.1/config/gcc_hidden.h
+-I/usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src -I.
+-I../../../dist/include  -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss
+-I/usr/pkg/include/nss -I/usr/pkg/include/nspr    -I/usr/pkg/include/pixman-1
+-fPIC -DPIC  -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF
+.deps/Unified_c_media_libnestegg_src0.o.pp -I/usr/include -I/usr/pkg/include
+-I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/pkg/include/libdrm
+-I/usr/pkg/include/freetype2 -Wall -Wempty-body -Wpointer-to-int-cast
+-Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -O2 -g -I/usr/include
+-I/usr/pkg/include -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss
+-I/usr/pkg/include/libdrm -I/usr/pkg/include/freetype2 -std=gnu99
+-fgnu89-inline -fno-strict-aliasing -Dunix -fno-math-errno -pthread -pipe
+-DNDEB
 UG -DTRIMMED -O2 -fomit-frame-pointer     /usr/pkgsrc/www/firefox/work/build/me
+dia/libnestegg/src/Unified_c_media_libnestegg_src0.c
In file included from
+/usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/halloc.c:19:0,
                 from /usr/pkgsrc/www/firefox/work/build/media/libnestegg/src/Un
+ified_c_media_libnestegg_src0.c:2:
/usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/align.h:42:25: 
+error: conflicting types for 'max_align_t'
 typedef union max_align max_align_t;
                         ^

The immediate issue will be solved by restricting the C++ 2011 max_align_t properly in NetBSD headers - however, all types ending in _t are reserved by Posix, so libnestegg should not pollute that namespace.
See Also: → 1267315
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.