I won’t bore you with the details of my program. The thing is that it compiled and worked fine earlier today on this same computer, but after I updated to the latest tip (about an hour ago) I am getting this:
In file included from ../Source/juce/juce_amalgamated.cpp:891,
from ../Source/JuceSource.cc:12:
../Source/juce/juce_amalgamated.h: In member function ‘Type juce::Atomic<Type>::operator-=(Type) [with Type = void*]’:
../Source/juce/juce_amalgamated.cpp:1693: instantiated from ‘void juce::juce_testAtomicType(Type) [with Type = void*]’
../Source/juce/juce_amalgamated.cpp:1726: instantiated from here
../Source/juce/juce_amalgamated.h:5802: error: cast from ‘void*’ to ‘juce::int32’ loses precision
../Source/juce/juce_amalgamated.h: In member function ‘Type juce::Atomic<Type>::operator-=(Type) [with Type = int*]’:
../Source/juce/juce_amalgamated.cpp:1693: instantiated from ‘void juce::juce_testAtomicType(Type) [with Type = int*]’
../Source/juce/juce_amalgamated.cpp:1727: instantiated from here
../Source/juce/juce_amalgamated.h:5802: error: cast from ‘int*’ to ‘juce::int32’ loses precision
make: *** [build/intermediate/Debug/JuceSource.o] Error 1
It seems like something assumes that pointers are 32-bit integers even though I’m running a 64-bit linux (kubuntu 10.04).