aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2012-10-04Fixed FunctionTypeLoc source range.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165259 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04Fixed friend decl source range.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165257 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04Driver: Link crtfastmath.o if it's available and -ffast-math is specified.Benjamin Kramer
crtfastmath.o contains routines to set the floating point flags to a faster, unsafe mode. Linking it in speeds up code dealing with denormals significantly (PR14024). For now this is only enabled on linux where I can test it and crtfastmath.o is widely available. We may want to provide a similar file with compiler-rt eventually and/or enable it on other platforms too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165240 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04Permanently end the whole "pragma got handled by the parser too early"Eli Friedman
mess by handling all pragmas which the parser touches uniformly. <rdar://problem/12248901>, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165195 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03use ';' instead of '-' in the note part of my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165177 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03[libclang] When indexing, invoke the importedASTFile for PCH files as well.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165161 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03[libclang] Simplify indexing of module imports by handling implicitArgyrios Kyrtzidis
imports via ImportDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165160 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03[Options] Store the owning OptTable in Option so it can construct Group and ↵Michael J. Spencer
Alias. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165150 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Remove useless parameter "WantFile" from Driver::GetProgramPath().Simon Atanasyan
This parameter is useless because nowhere used explicitly and always gets its default value - "false". The patch reviewed by Rafael Espindola. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165149 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Fix a typo in my last patch reported by Erik Schwiebert.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165142 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Remove ASTReader::needPendingInstantiation(), introduced in r164993,Douglas Gregor
which is neither correct nor necessary. The use of this routine was eliminated by r165137. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165139 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Revert most of the functionality in r165001. Instead, make sure thatDouglas Gregor
the ASTReader doesn't attach a body to a function that is already defined elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165137 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03objective-C arc: Warn under arc about a use of an ivar inside a blockFariborz Jahanian
that doesn't have a 'self' as this implicitly captures 'self' and could create retain cycles. Provide fixit. // rdar://11194874 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Set the file entry for a Module* that was created during deserializationArgyrios Kyrtzidis
of a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165086 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Add a FIXME.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165085 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Introduce ASTConsumer::HandleImplicitImportDecl() callback that is invokedArgyrios Kyrtzidis
when an ImportDecl that was implicitly created due to an inclusion directive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165084 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Some renames to use the 'visitor' nomenclature, no functionality change.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165083 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Improve C++11 attribute parsing.Michael Han
- General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST. - Add support to parse arguments of attributes that in 'gnu' namespace. - Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03[analyzer] Push evalDynamicCast and evalDerivedToBase up to Store.Jordan Rose
These functions are store-agnostic, and would benefit from information in DynamicTypeInfo but gain nothing from the store type. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165078 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-03Teach getCXXRecordDeclForPointerType about references.Jordan Rose
Then, rename it getPointeeCXXRecordDecl and give it a nice doc comment, and actually use it. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165077 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[PCH/Module] Change the map of file-level DeclIDs to use a FileIDArgyrios Kyrtzidis
as key instead of a SLocEntry pointer. This allows the array of file sorted declarations in a PCH/module to be deterministic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165047 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[libclang] When indexing an AST file, only deserialize the file levelArgyrios Kyrtzidis
declarations of the current primary module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165046 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Refactor clients of AnalyzerOptions::getBooleanOption() to haveTed Kremenek
an intermediate helper method to query and populate the Optional value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165043 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Tweak AnalyzerOptions::getOptionAsInteger() to populate the stringTed Kremenek
table, making it printable with the ConfigDump checker. Along the way, fix a really serious bug where the value was getting parsed from the string in code that was in an assert() call. This means in a Release-Asserts build this code wouldn't work as expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165041 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Change AnalyzerOptions::mayInlineCXXMemberFunction to default populateTed Kremenek
the config string table. Also setup a test for dumping the analyzer configuration for C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165040 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[libclang] When indexing an AST file, only deserialize the preprocessing recordArgyrios Kyrtzidis
entities of the current primary module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165023 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Add info in the preprocessing record whether an inclusion directiveArgyrios Kyrtzidis
resulted in an automatic module import. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165022 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02[libclang] Implement the importedASTFile indexing callback to provideArgyrios Kyrtzidis
info about imported modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165020 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Allowing individual targets to determine whether a given calling convention ↵Aaron Ballman
is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs. Fixes PR13782 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165015 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Enable programmatic provisioning of virtual module.map files (instead of ↵Axel Naumann
writing out actual module.map files). Opens up the wonders of clang::Modules to tools - though they remain as experimental as before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165002 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Only those InterestingDecls that got added to the AST should be passed to ↵Axel Naumann
the ASTConsumer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165001 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Merge pending instantiations instead of overwriting existing ones.Axel Naumann
Check whether a pending instantiation needs to be instantiated (or whether an instantiation already exists). Verify the size of the PendingInstantiations record (was only checking size of existing PendingInstantiations). Migrate Obj-C++ part of redecl-merge into separate test, now that this is growing. templates.mm: test that CodeGen has seen exactly one definition of template instantiations. redecl-merge.m: use "@" specifier for expected-diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164993 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Tweak diagnostic text to indicate that __weak on a local variable is only ↵Ted Kremenek
allowed for ARC. Fixes <rdar://problem/12407705> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164990 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Add FP_CONTRACT support for clang.Lang Hames
Clang will now honor the FP_CONTRACT pragma and emit LLVM fmuladd intrinsics for expressions of the form A * B + C (when they occur in a single statement). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164989 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Move isObjCSelf into Expr.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164966 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01availability in structured documents. TakesFariborz Jahanian
care of comments by Dimitri and Doug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164957 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Have AnalyzerOptions::getBooleanOption() stick the matching configTed Kremenek
string in the config table so that it can be dumped as part of the config dumper. Add a test to show that these options are sticking and can be cross-checked using FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164954 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Cleaning up the self initialization checker.Richard Trieu
-Allow Sema to do more processing on the initial Expr before checking it. -Remove the special conditions in HandleExpr() -Move the code so that only one call site is needed. -Removed the function from Sema and only call it locally. -Warn on potentially evaluated reference variables, not just casts to r-values. -Update tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164951 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01[analyzer] Make ProgramStateManager's SubEngine parameter optional.Jordan Rose
It is possible and valid to have a state manager and associated objects without having a SubEngine or checkers. Patch by Olaf Krzikalla! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01Add matchers for selected C++11 features.Daniel Jasper
Patch by Gábor Horváth. Review: http://llvm-reviews.chandlerc.com/D46 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Add Clang support for iOS6.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164907 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Add an FMA intrinsic for ARM Neon.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164904 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Whitespace.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164900 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Fix refersToDeclaration()-matcher and add missing test case. This wasDaniel Jasper
broken as of r164656 as TemplateArgument::getAsDecl() now asserts instead of returning NULL for other template arugment kinds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164896 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29Move the 'find macro by spelling' infrastructure to the Preprocessor class andDmitri Gribenko
use it to suggest appropriate macro for __attribute__((deprecated)) in -Wdocumentation-deprecated-sync. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164892 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29For PPCallbacks::InclusionDirective() add a parameter for the module, wheneverArgyrios Kyrtzidis
an inclusion directive was automatically turned into a module import, and PPCallbacks::moduleImport() for an explicit module import. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164874 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-29In the Module class, add a reference to the corresponding AST file.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164873 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28Use a custom DenseMapInfo for WeakObjectProfileTy.Jordan Rose
We can't specialize the usual llvm::DenseMapInfo at the end of the file because by that point the DenseMap in FunctionScopeInfo has already been instantiated. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164862 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28Compatibility macro detection for the -Wimplicit-fallthrough diagnostic.Alexander Kornienko
Summary: When issuing a diagnostic message for the -Wimplicit-fallthrough diagnostics, always try to find the latest macro, defined at the point of fallthrough, which is immediately expanded to "[[clang::fallthrough]]", and use it's name instead of the actual sequence. Known issues: * uses PP.getSpelling() to compare macro definition with a string (anyone can suggest a convenient way to fill a token array, or maybe lex it in runtime?); * this can be generalized and used in other similar cases, any ideas where it should reside then? Reviewers: doug.gregor, rsmith Reviewed By: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D50 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164858 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-28-Wreceiver-is-weak: rephrase warning text and add a suggestion Note.Jordan Rose
New output: warning: weak property may be unpredictably set to nil note: property declared here note: assign the value to a strong variable to keep the object alive during use <rdar://problem/12277204> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164857 91177308-0d34-0410-b5e6-96231b3b80d8