summaryrefslogtreecommitdiffstats
path: root/NOTES.txt
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2008-02-14 08:19:48 +0000
committerNate Begeman <natebegeman@mac.com>2008-02-14 08:19:48 +0000
commit60c385b1c368e2ecdd02f122f475d54af86b0086 (patch)
treefd3ef7d09c04866b61762abc28e314999a3d37cc /NOTES.txt
parent81226601148d7e7c187b96c6ef86e83df204f59f (diff)
Completed note
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'NOTES.txt')
-rw-r--r--NOTES.txt26
1 files changed, 0 insertions, 26 deletions
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 <tgmath.h>, 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.