It may not be easy but its worth investigating.

BTW .. I have not recently tried the new build mechanism, but does anyone
on the build list know what kinds of build changes will very probably just work
with that too, and which will need to be tested separately ?

-phil.

On 5/23/2012 9:12 AM, Damon Hart-Davis wrote:
Hi,

FWIW, and I have not looked at any of the build system for this, when building 
large optimised cross-platform critical C++ projects I had the option to turn 
down or off optimisation for individual files for individual 
compilers/platforms.

At worst you might accomplish that (with other maintenance risks) with an 
explicit build rule in the makefile for that .cpp file for that 
platform/compiler, but only if the macro is local to that .cpp file.

Anyhow, I'm speaking from ignorance of all the detail here, so please ignore me!

Rgds

Damon


On 23 May 2012, at 17:01, Phil Race wrote:

I suppose the problem that some new version of GCC enables this option by 
default and
we could run into a problem at run time if we don't disable it ?

But this patch would appear to disable it for the whole ICU library .. and any 
other C++ code in the .so
which I would have to suppose impacts the compiler's ability to optimise the 
code, in order to
eliminate a single warning.

Can you devise a more targeted fix ?

-phil.

On 5/23/2012 5:59 AM, Andrew Hughes wrote:
At present, the building of ExtensionSubtables.cpp produces a warning:

../../../src/share/native/sun/font/layout/ExtensionSubtables.cpp:57:31:
warning: dereferencing type-punned pointer will break strict-aliasing rules 
[-Wstrict-aliasing]

due to this code:

// read a 32-bit value that might only be 16-bit-aligned in memory
#define READ_LONG(code) (le_uint32)((SWAPW(*(le_uint16*)&code)<<   16) + 
SWAPW(*(((le_uint16*)&code) + 1)))

where code is a le_uint32.

This can be avoided by setting -fno-strict-aliasing, as done in this webrev:

http://cr.openjdk.java.net/~andrew/no-strict-aliasing/

making the code safer in the process.

Ok for jdk8?  If so, can I have a bug ID for this please?

Thanks,

Reply via email to