Guard use of push_macro & pop_macro from gcc < 4.3
Guard use of push_macro & pop_macro from gcc < 4.3

Fixes #418

xiongzhanblake/thrust,mohamed-ali/thrust,Ricardo666666/thrust,raygit/thrust,raygit/thrust,sarvex/thrust,arnabgho/thrust,egaburov/thrust,thrust/thrust,jaredhoberock/thrust,xiongzhanblake/thrust_src,Ricardo666666/thrust,GrimDerp/thrust,xiongzhanblake/thrust_src,sdalton1/thrust,jaredhoberock/thrust,sdalton1/thrust,arnabgho/thrust,raygit/thrust,marksantos/thrust,andrewcorrigan/thrust-multi-permutation-iterator,egaburov/thrust,xiongzhanblake/thrust,mohamed-ali/thrust,sarvex/thrust,egaburov/thrust,GrimDerp/thrust,Ricardo666666/thrust,xiongzhanblake/thrust,andrewcorrigan/thrust-multi-permutation-iterator,marksantos/thrust,zhenglaizhang/thrust,zeryx/thrust,dachziegel/thrust,arnabgho/thrust,thrust/thrust,andrewcorrigan/thrust-multi-permutation-iterator,zeryx/thrust,thrust/thrust,xiongzhanblake/thrust_src,zeryx/thrust,thvasilo/thrust,thrust/thrust,marksantos/thrust,sarvex/thrust,thvasilo/thrust,sdalton1/thrust,GrimDerp/thrust,dachziegel/thrust,jaredhoberock/thrust,jaredhoberock/thrust,zhenglaizhang/thrust,thrust/thrust,thvasilo/thrust,mohamed-ali/thrust,jaredhoberock/thrust,dachziegel/thrust,zhenglaizhang/thrust