Commit Graph

42841 Commits

Author SHA1 Message Date
Fariborz Jahanian d83bdd3841 Fixed a bug in categories and properties.
llvm-svn: 49883
2008-04-18 00:30:47 +00:00
Fariborz Jahanian ffe97a3925 Initial work for property implementation declarations.
Mostly semantic checking in this patch. This is on going
and incomplete.

llvm-svn: 49882
2008-04-18 00:19:30 +00:00
Steve Naroff be89ba0c38 Update VC++ project files.
llvm-svn: 49881
2008-04-17 23:51:38 +00:00
Ted Kremenek 69049c272f Modified BugReport::getEndPath() to handle the case where end path is at
the exit block of the CFG.

llvm-svn: 49880
2008-04-17 23:44:37 +00:00
Ted Kremenek cc0951bde1 Hook up reporting reference count memory leaks to the BugReporter mechanism.
llvm-svn: 49879
2008-04-17 23:43:50 +00:00
Evan Cheng 5879213597 Also support Intel asm syntax.
llvm-svn: 49878
2008-04-17 23:35:10 +00:00
Chris Lattner 54349c5f4d Fix a problem noticed by Nuno, where we wouldn't escape characters in
macro expansions.

llvm-svn: 49877
2008-04-17 23:03:14 +00:00
Dan Gohman 75c895dbc4 Remove the implicit conversion from SDOperandPtr to SDOperand*; this
may fix a build error on Visual Studio.

llvm-svn: 49876
2008-04-17 23:02:12 +00:00
Ted Kremenek f42f3fb47d class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its dstor.
clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and
  passes it to the preprocessor object.
  
clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main().

html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new
Preprocessor to highlight macros.

class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros().
Updated clients of HTMLDiagnostics to use this new interface.

llvm-svn: 49875
2008-04-17 22:31:54 +00:00
Chris Lattner 7c7e9b3bbe Handle text escaping (e.g. & -> &) last, to avoid interactions between 'replace' operations and insert operations. This fixes a problem with "&;&" on line 666 of the gcc.c example I sent out.
llvm-svn: 49874
2008-04-17 22:24:51 +00:00
Ted Kremenek 306492d8cb Generate the Preprocessor using a local PreprocessorFactory object.
While this adds no extra functionality now, we will soon pass the
PreprocessorFactory object to some ASTConsumers.

llvm-svn: 49873
2008-04-17 21:38:34 +00:00
Chris Lattner 6929bd8047 don't give macros a background
llvm-svn: 49871
2008-04-17 21:32:46 +00:00
Chris Lattner f219126107 Make sure popup is on top over other spans. wrap long line.
llvm-svn: 49870
2008-04-17 21:28:41 +00:00
Evan Cheng 4704baa555 Fix assembly code for atomic operations.
llvm-svn: 49869
2008-04-17 21:26:35 +00:00
Ted Kremenek 219bab3be9 Added "PreprocessorFactory", an interface for lazily creating Preprocessor objects on-demand.
llvm-svn: 49868
2008-04-17 21:23:07 +00:00
Ted Kremenek c2c08caf9c Add support in HTML macro expansion for hovering over a macro and automatically
expanding its definition.  This is a pure CSS solution.

Tested on IE7, Firefox 3b4, and Safari 3.1.

Patch by Cedric Venet!

llvm-svn: 49865
2008-04-17 19:57:27 +00:00
Ted Kremenek aabc986766 Temporarily disable macro expansion in the HTML output of HTMLDiagnostics to
avoid corrupting Preprocessor state.  Working on a fix.

llvm-svn: 49864
2008-04-17 18:39:57 +00:00
Ted Kremenek 8bb90b8152 HAve HTMLDiagnostics use html::HighlightRange to highlight message ranges.
llvm-svn: 49863
2008-04-17 18:37:23 +00:00
Fariborz Jahanian 8e36cddde0 Added property decl support for protocols.
Added assertion if unexpected property decls are found where they don't belong.
Consolidated property decl. printing by using a helper function.

llvm-svn: 49862
2008-04-17 18:25:18 +00:00
Ted Kremenek a506fec90a Added transfer function support for ReturnStmt to support detecting leaks
involving objects that are returned but have an excessive reference count.

llvm-svn: 49861
2008-04-17 18:12:53 +00:00
Nate Begeman 36c49278b5 Allow redirecting text diagnostic printer output to any llvm::OStream, rather
than hard coding llvm::cerr.

llvm-svn: 49860
2008-04-17 18:06:57 +00:00
Argyrios Kyrtzidis 6d05303342 Use TranslationUnitDecl as DeclContext of builtin functions.
llvm-svn: 49856
2008-04-17 14:47:13 +00:00
Argyrios Kyrtzidis c3b69ae815 Addition of TranslationUnitDecl to the AST:
-Added TranslationUnitDecl class to serve as top declaration context
-ASTContext gets a TUDecl member and a getTranslationUnitDecl() function
-All ScopedDecls get the TUDecl as DeclContext when declared at global scope

llvm-svn: 49855
2008-04-17 14:40:12 +00:00
Argyrios Kyrtzidis 3da1d68662 Bring in uint32_t, uint64_t, and int64_t types for MSVC.
llvm-svn: 49854
2008-04-17 13:56:31 +00:00
Argyrios Kyrtzidis fc2f058230 Fix MSVC compiler error: "initialization of 'VD' is skipped by 'case' label"
llvm-svn: 49853
2008-04-17 13:52:22 +00:00
Duncan Sands 9ed1242efc Run SimplifyLibCalls near the beginning, not at
the end.  It is now run at the same moment as in
llvm-gcc.  Also, run StripDeadPrototypes at the
end, just before running DeadTypeElimination.
This may be useful when doing LTO.  Note that
llvm-gcc runs StripDeadPrototypes but not
DeadTypeElimination.

llvm-svn: 49848
2008-04-17 12:03:38 +00:00
Roman Levenstein a01df2d087 Minor clean-up based on Dan's comments.
llvm-svn: 49844
2008-04-17 09:29:48 +00:00
Evan Cheng 7e4a55bc58 Be more careful with insert_subreg and extract_subreg where either source or destination operand has already been coalesced with another register that's defined by a insert_subreg or extract_subreg.
llvm-svn: 49843
2008-04-17 07:58:04 +00:00
Owen Anderson f9ae76d89c Make GVN able to remove unnecessary calls to read-only functions again.
llvm-svn: 49842
2008-04-17 05:36:50 +00:00
Bill Wendling 288ef83b8a Use correct name for method in comment.
llvm-svn: 49841
2008-04-17 05:20:39 +00:00
Dan Gohman 9752a8f3b4 Correct the SrcValue information in the Expand code for va_copy.
llvm-svn: 49839
2008-04-17 02:09:26 +00:00
Scott Michel 376acf4aaa Remove unused variable
llvm-svn: 49838
2008-04-17 01:30:44 +00:00
Chris Lattner f1c70d79b8 insert macro expansions into floating divs. For now, they are always displayed,
but we want some javascript or something toggle their display.

llvm-svn: 49836
2008-04-17 00:40:45 +00:00
Evan Cheng c8c3a899c0 Fix a sub-register indice propagation bug.
llvm-svn: 49832
2008-04-17 00:06:42 +00:00
Scott Michel f66cb3696a Workaround for PR2207, in which pred_iterator assert gets triggered due to a
wee problem in Xcode 2.[45]/gcc 4.0.1.

llvm-svn: 49831
2008-04-16 23:46:39 +00:00
Evan Cheng 147cb764b5 Don't forget about sub-register indices when rematting instructions.
llvm-svn: 49830
2008-04-16 23:44:44 +00:00
Chris Lattner 775fdd3618 correctly hilight multi-line macro definitions and other
preprocessor directives.

llvm-svn: 49828
2008-04-16 23:21:17 +00:00
Chris Lattner 10dbbb0c5a Make HighlightRange correctly handle multi-line ranges. This causes us to
correctly handle multi-line comments.

llvm-svn: 49827
2008-04-16 23:06:45 +00:00
Ted Kremenek 9c375158a0 Handle ReturnStmts by dispatching to "EvalReturn" in the transfer function object.
llvm-svn: 49826
2008-04-16 23:05:51 +00:00
Chris Lattner 8e3006a4e3 add a new HighlightRange API, it doesn't handle multiline ranges
yet, but it will soon...

llvm-svn: 49825
2008-04-16 22:45:51 +00:00
Ted Kremenek cbf4c6134e CF ref. count checker: Register memory leaks at the end of a path.
llvm-svn: 49824
2008-04-16 22:32:20 +00:00
Ted Kremenek 86051690ea Bug fix in GREndPathNodeBuilderImpl: Use the specified state to construct
a node, not the state of the predecessor.

llvm-svn: 49823
2008-04-16 22:30:40 +00:00
Dale Johannesen c1279f5e4b Unbreak build on x86-64.
llvm-svn: 49822
2008-04-16 22:24:33 +00:00
Fariborz Jahanian 549e83caa0 New AST class for property implementation declarations.
llvm-svn: 49821
2008-04-16 22:00:24 +00:00
Dan Gohman 5afb42a41d Fix a copy+paste error in a comment.
llvm-svn: 49820
2008-04-16 21:57:29 +00:00
Fariborz Jahanian d634dfae0f Fixed a comment.
llvm-svn: 49819
2008-04-16 21:11:25 +00:00
Ted Kremenek c1f9a28e4d Added CFGBlock::getTerminatorCondition() to get the Expr* of the condition a block's terminator.
Refactored LiveVariables to use getTerminatorCondition() in VisitTerminator().

Bug fix: CFG now computes Block-level expression numbers using information
from block terminators.  This fixes <rdar://problem/5868189>.

llvm-svn: 49818
2008-04-16 21:10:48 +00:00
Fariborz Jahanian 9d981eb9ae This patch adds support for declaraing properties in categories,
just as they are declared in objc classes.

llvm-svn: 49817
2008-04-16 21:08:45 +00:00
Chris Lattner e9786c3199 reenable highlighting of (the first line of) comments
llvm-svn: 49816
2008-04-16 20:54:51 +00:00
Chris Lattner 0bb0e7ee8a switch from relexing with the preprocessor to do syntax highlighting to relexing
with the Lexer.  This is cheaper and gives us some advantages.  For now we start
highlighting preprocessor directives (which need improvement), and disable 
comments.  Comments to be restored later.

llvm-svn: 49815
2008-04-16 20:51:51 +00:00