iamnpc / libyuv

Automatically exported from code.google.com/p/libyuv
0 stars 0 forks source link

Linux-ia32-clang compiler errors #83

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
In a standalone webrtc build:
$ ./build/gyp_chromium --depth=. -Dtarget_arch=ia32 -Dclang=1 webrtc.gyp
$ make libyuv

CXX(target) out/Debug/obj.target/libyuv/third_party/libyuv/source/row_posix.o
third_party/libyuv/source/row_posix.cc:1340:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I444ToARGBRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1376:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToARGBRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1412:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I411ToARGBRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1448:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP NV12ToARGBRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1481:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP NV21ToARGBRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1514:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I444ToARGBRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1550:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToARGBRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1586:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I411ToARGBRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1622:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP NV12ToARGBRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1655:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP NV21ToARGBRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1688:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToBGRARow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1725:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToABGRRow_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1761:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToBGRARow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
third_party/libyuv/source/row_posix.cc:1798:6: error: unknown attribute 
'optimize' ignored [-Werror,-Wattributes]
void OMITFP I422ToABGRRow_Unaligned_SSSE3(const uint8* y_buf,
     ^
third_party/libyuv/source/row.h:145:31: note: expanded from macro 'OMITFP'
#define OMITFP __attribute__((optimize("omit-frame-pointer")))
                              ^
14 errors generated.
make: *** [out/Debug/obj.target/libyuv/third_party/libyuv/source/row_posix.o] 
Error 1

Original issue reported on code.google.com by andrew@webrtc.org on 10 Sep 2012 at 8:46

GoogleCodeExporter commented 9 years ago
Unable to repro with libyuv... missing DEPS?
./build/gyp_chromium --depth=. -Dtarget_arch=ia32 -Dclang=1 libyuv.gyp
Updating projects from gyp files...
fbarchard@muni:/usr/local/google/libyuv/trunk$ make
  CXX(target) out/Debug/obj.target/libyuv/source/compare.o
make: 
/usr/local/google/libyuv/trunk/third_party/llvm-build/Release+Asserts/bin/clang+
+: Command not found

Original comment by fbarch...@google.com on 10 Sep 2012 at 8:52

GoogleCodeExporter commented 9 years ago
Ah, I should have mentioned: since Linux doesn't use clang by default, you have 
to download it manually the first time:
$ ./tools/clang/scripts/update.sh

It will then keep itself up-to-date. (But still isn't used unless you enable it 
with -Dclang=1).

Original comment by andrew@webrtc.org on 10 Sep 2012 at 9:33

GoogleCodeExporter commented 9 years ago
Fixed in r342
Added ./tools/clang/scripts/update.sh to Getting Started
ifdefed the OMITFP so llvm/clang, which claim to be __GCC__, will not use the 
attribute optimize that is GCC specific.
The reason for the attribute was these functions will not compile on gcc 32 bit 
due to running out of GPR registers.
The issue does not affect 64 bit, and hopefully does not affect other compilers 
(llvm)

Original comment by fbarch...@google.com on 11 Sep 2012 at 1:54