--- nsis-old/Source/makenssi.cpp 2007-06-27 14:16:07.000000000 +0000 +++ nsis-new/Source/makenssi.cpp 2007-07-16 21:58:50.000000000 +0000 @@ -243,11 +243,15 @@ static int change_to_script_dir(CEXEBuil return 0; } + +#ifdef NSIS_HPUX_ALLOW_UNALIGNED_DATA_ACCESS + extern "C" void allow_unaligned_data_access(); +#endif + int main(int argc, char **argv) { #ifdef NSIS_HPUX_ALLOW_UNALIGNED_DATA_ACCESS - extern "C" void allow_unaligned_data_access(); allow_unaligned_data_access(); #endif --- nsis-old/SCons/Config/hpc++ 2007-06-27 14:15:55.000000000 +0000 +++ nsis-new/SCons/Config/hpc++ 2007-07-20 14:46:09.000000000 +0000 @@ -29,9 +29,11 @@ makensis_env.Append(CFLAGS = '-Ae') ### required to build makensis +makensis_env.Append(LINKFLAGS = '-AA') makensis_env.Append(LINKFLAGS = '+DD32') makensis_env.Append(LINKFLAGS = '-mt') +makensis_env.Append(CXXFLAGS = '-AA') makensis_env.Append(CCFLAGS = '+DD32') makensis_env.Append(CCFLAGS = '-mt') --- nsis-old/Source/util.cpp 2007-04-24 14:24:18.000000000 +0000 +++ nsis-new/Source/util.cpp 2007-07-20 17:40:54.000000000 +0000 @@ -574,18 +574,18 @@ } #endif//!_WIN32 -void *operator new(size_t size) { +void *operator new(size_t size) throw (bad_alloc) { void *p = malloc(size); if (!p) throw bad_alloc(); return p; } -void operator delete(void *p) { +void operator delete(void *p) throw () { if (p) free(p); } -void operator delete [](void *p) { +void operator delete [](void *p) throw () { if (p) free(p); }