Hi, While discussing the issue with the command line option for sincos here: http://gcc.1065356.n5.nabble.com/PATCH-bionic-Add-foptimize-sincos-tp940918.html
Richard wrote: > I'd rather think about a way to specify, for all known builtins, whether GCC > should generate calls to such function where they are not in the source > program. That is, similar to how we have -f[no-]builtin-FOO introduce > -f[no-]libc-FOO (with a better name for 'libc'?). That way there would be > a way to specify that -floop-distribute-patterns should not produce calls > to memset () for example. This patch is related to that idea: in the target hook libc_has_function we can check whether the compiler should generate calls to a particular function or not. The command line support for each function could be the next step. Could you please take a look? thanks Alexander 2013/4/23 Alexander Ivchenko <aivch...@gmail.com>: > *ping* > > thanks > Alexander > > 2013/3/28 Alexander Ivchenko <aivch...@gmail.com>: >> Hi, >> >> 4.8 is now branched, lets come back to the discussion that we had >> before. I updated the patch a little >> bit since we now have linux-protos.h and linux-android.c files. >> >> I tried to preserve the avaiability of c99 for all targets, but it's >> pretty difficult, because we are changing >> the defaults. Passing an empty string as second argument doesn't look >> very good, but on the other hand >> the user has one clear way for checking the presence of a certain >> function. But of course we can create >> another function, that will call targetm.libc_has_function >> (function_class, "") within itself. >> >> best regards, >> Alexander >> >> 2013/1/7 Joseph S. Myers <jos...@codesourcery.com>: >>> On Fri, 21 Dec 2012, Alexander Ivchenko wrote: >>> >>>> Hi, >>>> >>>> Thank you very much for your input! Please, take a look at the updated >>>> version: >>>> I fixed coding style, moved documentation for TARGET_LIBC_HAS_FUNCTION >>>> to target.def. >>>> Removed TARGET_C99_FUNCTIONS and TARGET_HAS_SINCOS and all their >>>> influence and moved the implementation of linux_libc_has_function to >>>> host-linux.c. >>>> I changed the defaults: now it is assumed that we have C99 runtime, >>>> but no sincos. I updated all needed gcc/config/*.h. But 'm not sure in >>>> this part, >>>> cause I don't have the opportunity to test it properly... >>> >>> This patch seems mostly plausible, though there are various places that >>> call targetm.libc_has_function with and empty string as second argument, >>> that should be naming the specific function instead. I haven't reviewed >>> the details, and at this development stage I think it will need to wait >>> until after 4.8 branches. >>> >>> -- >>> Joseph S. Myers >>> jos...@codesourcery.com