RFA: fix avr C++ preprocessing to pick up device defines

2014-11-09 Thread Joern Rennecke
The defaults.h definition of
#define CPLUSPLUS_CPP_SPEC CPP_SPEC
does not do the right thing with the cpp spec picked up from a spec file,
which is now needed for -mmcu processing.
Also, a spec file can't override CPLUSPLUS_CPP_SPEC as such, since
that string is hard-coded into the compiler.
By setting CPLUSPLUS_CPP_SPEC to "%(cpp)", we let the cc1plus
preprocessor look up the actual value of the preprocessor specs.

OK to apply?
2014-11-09  Joern Rennecke  

* /config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define.

diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 0b48423..46ed0a4 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -505,6 +505,10 @@ typedef struct avr_args
 #define DRIVER_SELF_SPECS " %{mmcu=*:-specs=device-specs/specs-%*%s %

Re: RFA: fix avr C++ preprocessing to pick up device defines

2014-11-09 Thread Denis Chertykov
2014-11-09 19:23 GMT+03:00 Joern Rennecke :
> The defaults.h definition of
> #define CPLUSPLUS_CPP_SPEC CPP_SPEC
> does not do the right thing with the cpp spec picked up from a spec file,
> which is now needed for -mmcu processing.
> Also, a spec file can't override CPLUSPLUS_CPP_SPEC as such, since
> that string is hard-coded into the compiler.
> By setting CPLUSPLUS_CPP_SPEC to "%(cpp)", we let the cc1plus
> preprocessor look up the actual value of the preprocessor specs.
>
> OK to apply?

Please, apply.