Closed
Bug 541366
Opened 14 years ago
Closed 14 years ago
Solaris warning cleanup
Categories
(Tamarin Graveyard :: Build Config, defect, P3)
Tracking
(Not tracked)
VERIFIED
FIXED
Q3 11 - Serrano
People
(Reporter: lhansen, Assigned: lhansen)
Details
Attachments
(1 obsolete file)
The Solaris warning situation is out of control. We can do a lot with little, though. I have some fixes, will attach them here.
Assignee | ||
Comment 1•14 years ago
|
||
Remove the bulk of the Solaris warnings: Add a flag to turn off warnings about locals hiding member variables. Remove the trailing comma at the end of two enums. We could disable this warning but since there were only two instances I assume we've been trying to clean up. I don't know what the current state of C++ is but the trailing comma in enums used to be illegal.
Attachment #422965 -
Flags: review?(stejohns)
Assignee | ||
Comment 2•14 years ago
|
||
These are the remaining warnings in a DD avmshell build: MMgc/GCHeap.cpp:83: attribute aligned is unsupported and will be skipped.. core/AbcParser.cpp:1998: Types cannot be declared in anonymous union. core/jit-calls.h:663: Too few arguments in macro _nvprof. core/jit-calls.h:667: Too few arguments in macro _nvprof. core/jit-calls.h:683: Too few arguments in macro _nvprof. core/jit-calls.h:688: Too few arguments in macro _nvprof. core/jit-calls.h:699: Too few arguments in macro _nvprof. core/CodegenLIR.cpp:5874: Too few arguments in macro _nvprof. core/CodegenLIR.cpp:6001: Too few arguments in macro _nvprof. core/CodegenLIR.cpp:6383: Too few arguments in macro _nvprof. core/CodegenLIR.cpp:6385: Too few arguments in macro _nvprof. core/Traits.cpp:1906: Goto failure bypasses a variable (or an exception) initialization. core/instr.cpp:192: Too few arguments in macro _nvprof. core/instr.cpp:201: Too few arguments in macro _nvprof. core/instr.cpp:206: Too few arguments in macro _nvprof. vprof/vprof.h:241: attribute aligned is unsupported and will be skipped.. vprof/vprof.h:242: attribute aligned is unsupported and will be skipped.. vprof/vprof.cpp:214: Anachronism: Formal argument 1 of type extern "C" void(*)() in call to std::atexit(extern "C" void(*)()) is being passed void(*)(). vprof/vprof.cpp:301: Anachronism: Formal argument 1 of type extern "C" void(*)() in call to std::atexit(extern "C" void(*)()) is being passed void(*)(). nanojit/CodeAlloc.cpp:74: Too few arguments in macro _nvprof. nanojit/CodeAlloc.cpp:141: Too few arguments in macro _nvprof. nanojit/CodeAlloc.cpp:237: Too few arguments in macro _nvprof. nanojit/CodeAlloc.cpp:466: Too few arguments in macro _nvprof.
Assignee | ||
Comment 3•14 years ago
|
||
The ones in AbcParser.cpp and Traits.cpp are easily fixed and no great cause for concern. The alignment warnings are curious; unix-platform.h has a case specifically for the SunPro compiler. The issue could be a compiler version problem. Needs investigation - the warnings probaby don't matter in vprof but the one in GCHeap.cpp could be important. The remaining warnings are all related to vprof. Edwin says vprof has probably never been tested on Solaris.
Comment 4•14 years ago
|
||
(In reply to comment #3) > The alignment warnings are curious; unix-platform.h has a case specifically for > the SunPro compiler. The issue could be a compiler version problem. This is the compiler version that we are using on the buildslaves: CC: Sun C++ 5.9 SunOS_sparc Patch 124863-17 2009/10/27
Assignee | ||
Comment 5•14 years ago
|
||
The warning about 'align' in GCHeap.cpp is probably not important - the annotation is on a large global array of byte, which - this being SPARC - is probably aligned on an 8-byte boundary. The __attribute__ ((whatever)) structure is not documented in the Sun C++ User's Guide, so it may just be some GCC compatibility stuff the compiler understands, warns about, and ignores. Instead the docs suggest that we use "#pragma align n(name)" where n is the alignment and name is the mangled(!) name of the global variable. I'm not sure this is really amenable to our AVMPLUS_ALIGN8(name) macro. (We have an AVMPLUS_ALIGN16 macro too but it's only used in the x86 / x86_64 jits.)
Assignee | ||
Updated•14 years ago
|
Priority: -- → P3
Target Milestone: --- → flash10.2
Comment 6•14 years ago
|
||
(In reply to comment #1) > Remove the trailing comma at the end of two enums. We could disable this > warning but since there were only two instances I assume we've been trying to > clean up. I don't know what the current state of C++ is but the trailing comma > in enums used to be illegal. It's still theoretically illegal, though many compilers allow it.
Updated•14 years ago
|
Attachment #422965 -
Flags: review?(stejohns) → review+
Assignee | ||
Comment 7•14 years ago
|
||
Comment on attachment 422965 [details] [diff] [review] Patch redux changeset: 3707:03f6c0d274d4
Attachment #422965 -
Attachment is obsolete: true
Assignee | ||
Comment 8•14 years ago
|
||
Closing this as "good enough for now".
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 9•14 years ago
|
||
Yes, going from almost 4,000 lines of output for a compilation of the shell to around 350 lines is "good enough". Thanks for getting this cleaned up.
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•