aboutsummaryrefslogtreecommitdiff
path: root/llvm/docs/ProgrammersManual.rst
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2016-03-23 02:33:58 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2016-03-23 02:33:58 +0000
commit6da4c20f7daa6b42205c4642d7672b0c5015ed8f (patch)
treef1b4a224491b14321d585b9656ed9e23e3187dcd /llvm/docs/ProgrammersManual.rst
parenta5b2972977802227e9c3d038819b73dcb011e521 (diff)
downloadllvm-6da4c20f7daa6b42205c4642d7672b0c5015ed8f.zip
llvm-6da4c20f7daa6b42205c4642d7672b0c5015ed8f.tar.gz
llvm-6da4c20f7daa6b42205c4642d7672b0c5015ed8f.tar.bz2
[Sema] Allow implicit conversions of &overloaded_fn in C.
Also includes a minor ``enable_if`` docs update. Currently, our address-of overload machinery will only allow implicit conversions of overloaded functions to void* in C. For example: ``` void f(int) __attribute__((overloadable)); void f(double) __attribute__((overloadable, enable_if(0, ""))); void *fp = f; // OK. This is C and the target is void*. void (*fp2)(void) = f; // Error. This is C, but the target isn't void*. ``` This patch makes the assignment of `fp2` select the `f(int)` overload, rather than emitting an error (N.B. you'll still get a warning about the `fp2` assignment if you use -Wincompatible-pointer-types). Differential Revision: http://reviews.llvm.org/D13704 llvm-svn: 264132
Diffstat (limited to 'llvm/docs/ProgrammersManual.rst')
0 files changed, 0 insertions, 0 deletions