aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-05-13Bug 8765: Honor assembler labels for builtins. Ensure that the label isJoerg Sonnenberger
mangled to avoid doing it twice for platforms that use prefixes like Darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131311 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Include assembler label for functions in the XML dumpJoerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131310 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Fix copy constructor deletion detection with array types.Sean Hunt
This fixes PR9910 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131309 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Introduce __has_extension macroPeter Collingbourne
__has_extension is a function-like macro which takes the same set of feature identifiers as __has_feature. It evaluates to 1 if the feature is supported by Clang in the current language (either as a language extension or a standard language feature) or 0 if not. At the same time, add support for the C1X feature identifiers c_generic_selections (renamed from generic_selections) and c_static_assert, and document them. Patch by myself and Jean-Daniel Dupas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131308 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Define __ARM_NEON__ in both ARM and Thumb modes. Radar 9431992.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131301 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Remove the 'unaligned load' builtins now that they're no longer used in the ↵Bill Wendling
*mmintrin.h files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131300 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Produce UTF-8 strings with -fconstant-string-classFariborz Jahanian
-fno-constant-cfstrings. Patch by Jonathan Schleifer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131298 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13refactor CheckForwardProtocolDeclarationForCircularDependency returnsFariborz Jahanian
'true' on detecting protocol cycles. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Add c-index-test printing and tests for static and virtual methodDouglas Gregor
query functions, from Erik Verbruggen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131295 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Eliminate old, useless tutorial pageDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131292 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Defaulting copy constructors now works reasonably well.Sean Hunt
One more special member to go git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131287 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13some updates.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131286 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13this never happened.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131285 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13remove some old redirect pages. We're into our 3rd year of redirecting, the ↵Chris Lattner
world should have adjusted by now :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131284 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in.Peter Collingbourne
Now "make doxygen" works for clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131282 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Refactoring of constant expression evaluatorPeter Collingbourne
This introduces a generic base class for the expression evaluator classes, which handles a few common expression types which were previously handled separately in each class. Also, the expression evaluator now uses ConstStmtVisitor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131281 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Add a ConstStmtVisitor classPeter Collingbourne
ConstStmtVisitor is a constness-preserving variant of StmtVisitor. ConstStmtVisitor and StmtVisitor share an implementation using a common base class, StmtVisitorBase, which uses a template template parameter to build pointer types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131280 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Add 'may_alias' attribute. Noticed by Eli.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131278 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13When determining whether we can make a declaration into a globalDouglas Gregor
constant, also consider whether it's a class type that has any mutable fields. If so, it can't be a global constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131276 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Implement a few basic tests for defaulted and deleted functions.Sean Hunt
More comprehensive testing once copy {constructors,assignment operators} can be defaulted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131275 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Teach the template parameter dependency checker used when matchingDouglas Gregor
template parameter lists to scope specifiers for friend declarations about injected class name types. Fixes the g++.dg/template/memfriend5.C regression in the GCC testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131272 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Implement the __is_trivially_copyable type traitSean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131270 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Represent the unaligned loads natively. These are converted into a call to theBill Wendling
correct unaligned load. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Implement defaulting of destructors.Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131260 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12HrmSean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131259 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Add a method to query whether or not a class has a default constructor declared.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131255 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12After issuing diagnostics on circular protocol list,Fariborz Jahanian
don't build circular AST in protocol's protocol list when user code has introduced it. Indexer and other clients may crash. // rdar://9221614 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131254 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131245 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Do not add AT_APPLE_objc_class_extension attribute if @implementation is not ↵Devang Patel
seen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131242 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12enable __has_feature(is_standard_layout)Howard Hinnant
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131240 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that ↵Devang Patel
represent class extension. Radar 9423077. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131239 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12LLVM doesn't always optimize away the four loads from this:Bill Wendling
(__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131237 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Add clang_CXXMethod_isVirtual() to libclang, from Erik Verbruggen!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131230 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Properly parse the 'default' and 'delete' keywords.Sean Hunt
They are actually grammatically considered definitions and parsed accordingly. This fixes the outstanding bugs regarding defaulting functions after their declarations. We now really nicely diagnose the following construct (try it!) int foo() = delete, bar; Still todo: Defaulted functions other than default constructors Test cases (including for the above construct) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131228 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Make it so that we actually generate definitions for explicitlySean Hunt
defaulted default constructors. As it happens, making sure that we handle out-of-line defaulted functions properly will involved making sure that we actually parse them correctly, so that's coming after. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131224 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Implement deletion of explicitly defaulted default constructors.Sean Hunt
We still don't parse out-of-line defaults correctly, which is needed to get the full effect out of this patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131223 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Fix crasher spotted in IWYU.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131222 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12PR9899: handle pseudo-destructors correctly in noexcept() expressions.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131220 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Make this code more resilient against catch variables which need cleanups.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131215 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Fix typo in comment.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131212 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-12Fix PR9902: correctly substitute alias templates within the template in ↵Richard Smith
which they are defined: provide an empty list of arguments for each containing template context during substitution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131211 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Implement CWG1170, which makes access-control errors into templateDouglas Gregor
argument deduction failures. Only implemented in C++0x, since this is a significant change in behavior from C++98/03. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131209 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11When checking for the necessary 'template<>' headers based on theDouglas Gregor
nested of an out-of-line declaration, only require a 'template<>' header for each enclosing class template that hasn't been previously specialized; previously, we were requiring 'template<>' for enclosing class templates and members of class templates that hadn't been previously specialized. Fixes <rdar://problem/9422013>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131207 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Place "conflicting distributed object modifiers..." warnings under a -W flag.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131206 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Commit some missing changes to the previous patch.Sean Hunt
This means we get C++0x jump-across-intializer semantics correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131204 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Implement implicit deletion of default constructors.Sean Hunt
Yes, I'm aware that the diagnostics are awful. Tests to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131203 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Add a Microsoft C test following r131201.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131202 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11In Microsoft mode, allow conversion from pointer to integral type no matter ↵Francois Pichet
what size the integral type is. Necessary to parse MFC code. Example: void f(char *ptr) { char var = (char)ptr; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131201 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Clean up consequences of cut and paste.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131190 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Implenment #pack pragma and ms_struct attribute layout.Fariborz Jahanian
Concludes // radar://8823265. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131188 91177308-0d34-0410-b5e6-96231b3b80d8