summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2015-10-12 19:57:04 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2015-10-12 19:57:04 +0000
commit5f21c718007fdc3b801690ef96908b43b8a1924e (patch)
treeec62116b246a319fd019f1f1545b620ec919cf3e /clang/lib/Driver/Tools.cpp
parent3320bcd81569bcf9dc73b02bfc6b08352ab4cf22 (diff)
downloadbcm5719-llvm-5f21c718007fdc3b801690ef96908b43b8a1924e.tar.gz
bcm5719-llvm-5f21c718007fdc3b801690ef96908b43b8a1924e.zip
[Sema] Make `&function_with_enable_if_attrs` an error
This fixes a bug where one can take the address of a conditionally enabled function to drop its enable_if guards. For example: int foo(int a) __attribute__((enable_if(a > 0, ""))); int (*p)(int) = &foo; int result = p(-1); // compilation succeeds; calls foo(-1) Overloading logic has been updated to reflect this change, as well. Functions with enable_if attributes that are always true are still allowed to have their address taken. Differential Revision: http://reviews.llvm.org/D13607 llvm-svn: 250090
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud