From 60c385b1c368e2ecdd02f122f475d54af86b0086 Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Thu, 14 Feb 2008 08:19:48 +0000 Subject: Completed note git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47120 91177308-0d34-0410-b5e6-96231b3b80d8 --- NOTES.txt | 26 -------------------------- 1 file changed, 26 deletions(-) (limited to 'NOTES.txt') diff --git a/NOTES.txt b/NOTES.txt index 33b191ebd0..1266718ec0 100644 --- a/NOTES.txt +++ b/NOTES.txt @@ -28,32 +28,6 @@ Extensions: //===---------------------------------------------------------------------===// -When we go to reimplement , we should do it more intelligently than -the GCC-supplied header. EDG has an interesting __generic builtin that provides -overloading for C: -http://www.edg.com/docs/edg_cpp.pdf - -For example, they have: - #define sin(x) __generic(x,,, sin, sinf, sinl, csin, csinf,csinl)(x) - -It's unclear to me why you couldn't just have a builtin like: - __builtin_overload(1, arg1, impl1, impl2, impl3) - __builtin_overload(2, arg1, arg2, impl1, impl2, impl3) - __builtin_overload(3, arg1, arg2, arg3, impl1, impl2, impl3) - -Where the compiler would just pick the right "impl" based on the arguments -provided. One nasty detail is that some arithmetic promotions most be done for -use by the tgmath.h stuff, but it would be nice to be able to handle vectors -etc as well without huge globs of macros. With the above scheme, you could -use: - - #define sin(x) __builtin_overload(1, x, sin, sinf, sinl, csin, csinf,csinl)(x) - -and not need to keep track of which argument to "__generic" corresponds to which -type, etc. - -//===---------------------------------------------------------------------===// - To time GCC preprocessing speed without output, use: "time gcc -MM file" This is similar to -Eonly. -- cgit v1.2.3