Commit Graph

59886 Commits

Author SHA1 Message Date
Jakob Stoklund Olesen c482d14565 Allow redefinition of reserved registers.
llvm-svn: 71932
2009-05-16 07:24:54 +00:00
Owen Anderson b5c37ff57b Back out the thread-safe ManagedStatic for now. Too many people have too many problems with it for the moment.
llvm-svn: 71931
2009-05-16 07:20:52 +00:00
Mike Stump 6814d1c126 Implement a FIXME, we now pass in the locations of the braces for enums.
llvm-svn: 71930
2009-05-16 07:06:02 +00:00
Ted Kremenek f0d3237474 Update checker build.
llvm-svn: 71929
2009-05-16 06:05:27 +00:00
Eli Friedman b05c41e0a1 Remove useless wrapper.
llvm-svn: 71928
2009-05-16 05:56:02 +00:00
Mike Stump b9075ae9f7 Fixup __extension__ i = 1 parsing. Thanks Eli!
llvm-svn: 71927
2009-05-16 04:31:34 +00:00
Duncan Sands 83d008614f Put back a bit of expensive checking logic that
was overenthusiastically deleted in r70234.

llvm-svn: 71926
2009-05-16 04:14:29 +00:00
Duncan Sands 81e053a739 Make sure the CXXFLAGS setting is picked up by
the common Makefile.  Not sure why this suddenly
started causing problems.

llvm-svn: 71925
2009-05-16 04:00:00 +00:00
Duncan Sands bdbc98f3ef Pacify gcc-4.3, which suggests explicit braces here
to avoid an ambiguous else.

llvm-svn: 71924
2009-05-16 03:28:54 +00:00
Ted Kremenek e4302ee3bb Fix: <rdar://problem/6893565> False positive: don't flag leaks for return types that cannot be determined to be CF types
llvm-svn: 71921
2009-05-16 01:38:01 +00:00
Ted Kremenek a28565ac62 Fix another bug in BugReporter where we wouldn't always select the bug report in a bug equivalence class with the shortest path.
llvm-svn: 71920
2009-05-16 01:11:58 +00:00
Jakob Stoklund Olesen 9d7fb58581 Help DejaGnu avoid pipe-jam by producing less output from certain test cases.
When a test fails with more than a pipeful of output on stdout AND stderr, one
of the DejaGnu programs blocks. The problem can be avoided by redirecting
stdout to a file.

llvm-svn: 71919
2009-05-16 00:34:42 +00:00
Jakob Stoklund Olesen 36c027ab18 Pass to verify generated machine code.
The following is checked:

* Operand counts: All explicit operands must be present.

* Register classes: All physical and virtual register operands must be
  compatible with the register class required by the instruction descriptor.

* Register live intervals: Registers must be defined only once, and must be
  defined before use.

The machine code verifier is enabled with the command-line option
'-verify-machineinstrs', or by defining the environment variable
LLVM_VERIFY_MACHINEINSTRS to the name of a file that will receive all the
verifier errors.

llvm-svn: 71918
2009-05-16 00:33:53 +00:00
Douglas Gregor 30776d419f Template instantiation for IndirectGotoStmt. Now my life is complete.
llvm-svn: 71917
2009-05-16 00:20:29 +00:00
Douglas Gregor 2a2d00f041 Template instantiation for switch statements
llvm-svn: 71916
2009-05-15 23:57:33 +00:00
Fariborz Jahanian 6404c420e5 Removed superfluous code.
llvm-svn: 71909
2009-05-15 23:19:35 +00:00
Fariborz Jahanian 4447e17c03 Early support for __format__attribute on blocks.
Work in progress...

llvm-svn: 71908
2009-05-15 23:15:03 +00:00
Anders Carlsson 789e2cce54 Basic support for member exprs where the base expr type is dependent.
llvm-svn: 71907
2009-05-15 23:10:19 +00:00
Daniel Dunbar 9a017d7fcf Classes with "+load" methods need to go in the non-lazy class list (or
else the method will not be found by the runtime at class load time).

llvm-svn: 71904
2009-05-15 22:33:15 +00:00
Douglas Gregor ca60224bbe Template instantiation for break and continue statements.
llvm-svn: 71903
2009-05-15 22:32:39 +00:00
Douglas Gregor e5cc0f3288 Introduce the EXPR macro into StmtNodes.def, so that we can
distinguish between expression and statement nodes. No functionality
change.

llvm-svn: 71902
2009-05-15 22:19:30 +00:00
Douglas Gregor 5d13868263 Template instantiation for "for" loops
llvm-svn: 71901
2009-05-15 22:12:32 +00:00
Ted Kremenek 926dffce01 Update checker build.
llvm-svn: 71900
2009-05-15 21:56:27 +00:00
Douglas Gregor 3daa82dba0 Template instantiation for do-while statements.
llvm-svn: 71899
2009-05-15 21:56:04 +00:00
Daniel Dunbar 19573e7d29 Factor code for adding module-level class lists into separate method.
- No functionality change.

llvm-svn: 71898
2009-05-15 21:48:48 +00:00
Mike Stump 76b824c388 Fixup parsing for (throw,throw) and __extension__ throw 1.
llvm-svn: 71897
2009-05-15 21:47:08 +00:00
Douglas Gregor 8a930c3b73 Template instantiation for WhileStmt and CXXConditionDeclExpr.
llvm-svn: 71896
2009-05-15 21:45:53 +00:00
Douglas Gregor 8d2ad873e7 Make sure that we use the canonical type for the names of instantiated
constructors and destructors. This is a requirement of
DeclarationNameTable::getCXXSpecialName that we weren't assert()'ing,
so it should have been caught much earlier :(

Big thanks to Anders for the test case.

llvm-svn: 71895
2009-05-15 21:18:27 +00:00
Fariborz Jahanian 6802ed9968 improved on diagnosing misplacement of sentinel attributes.
No change in functionality.

llvm-svn: 71894
2009-05-15 21:18:04 +00:00
Ted Kremenek eef7a21507 Add hack to scan-build to fix PR 4215
(http://llvm.org/bugs/show_bug.cgi?id=4215): When xcodebuild is invoked with
-sdk iphonesimulator3.0, use gcc-4.2 instead of the system default gcc.

llvm-svn: 71891
2009-05-15 21:14:16 +00:00
Fariborz Jahanian 5e15186c9a added -fblocks to the test.
llvm-svn: 71890
2009-05-15 20:49:33 +00:00
Douglas Gregor 3f17b47c7e Allow instantiation of NULL expressions and statements
llvm-svn: 71889
2009-05-15 20:47:12 +00:00
Fariborz Jahanian 0aa5c4565d This patch finishes off the sentinel attribute handling for
blocks and function pointers.

llvm-svn: 71888
2009-05-15 20:33:25 +00:00
Anders Carlsson 2cf4387931 I take it back, InstantiateExpr does not check for null.
llvm-svn: 71887
2009-05-15 20:29:28 +00:00
Anders Carlsson 1f911dce22 Instantiation support for 'this'
llvm-svn: 71886
2009-05-15 20:26:03 +00:00
Anders Carlsson 50574f5303 No need to null check the expr, Sema::SemaRef.InstantiateExpr handles all that.
llvm-svn: 71885
2009-05-15 20:10:48 +00:00
Anders Carlsson 2101e68398 Add SemaTemplateInstantiateStmt.cpp to Xcode project.
llvm-svn: 71884
2009-05-15 20:08:59 +00:00
Douglas Gregor 1ec5e9f025 Make sure that the type associated with a class template is dependent.
llvm-svn: 71878
2009-05-15 19:11:46 +00:00
Douglas Gregor 9d73cabf22 Template instantiation for "if" statements. Also:
- Skip semantic analysis of the "if" condition if it is type-dependent.
  - Added the location of the "else" keyword into IfStmt, so that we can
    provide it for type-checking after template instantiation.

llvm-svn: 71875
2009-05-15 18:53:42 +00:00
Ted Kremenek a3d4d7b4fa Update checker build.
llvm-svn: 71874
2009-05-15 18:40:51 +00:00
Anders Carlsson 37604a0984 A C++ member function always has either weak linkage (if it's inline or defined inline) or strong linkage (other cases).
llvm-svn: 71873
2009-05-15 18:35:39 +00:00
Douglas Gregor 82049e6bdd Move statement instantiation into its own file. No functionality change
llvm-svn: 71872
2009-05-15 18:22:25 +00:00
Jay Foad e609ab00a5 Work around the fact that GNU libstdc++'s debug mode uses RTTI.
llvm-svn: 71871
2009-05-15 18:13:31 +00:00
Douglas Gregor 12c3a5cedf When word-wrapping, be more defensive about a ridiculously small number of columns. Fixes <rdar://problem/6892178>
llvm-svn: 71870
2009-05-15 18:05:24 +00:00
Douglas Gregor 67da0d97e6 Call ActOnStartOfFunctionDecl/ActOnFinishFunctionBody when
instantiating the definition of a function from a template.

llvm-svn: 71869
2009-05-15 17:59:04 +00:00
Anders Carlsson f6e9ece507 Name mangling for class template specializations and template arguments.
llvm-svn: 71861
2009-05-15 16:09:15 +00:00
Chris Lattner 4579b76ff6 Fix processing of -Ufoo to not inject "#undef foo 1" into the predefines
buffer.  This caused exciting nonsense like this:

$ clang t.c -fsyntax-only -UMACRO
In file included from <built-in>:104:
<command line>:1:14: warning: extra tokens at end of #undef directive [-Wextra-tokens]
#undef MACRO 1
             ^
             //
1 diagnostic generated.

rdar://6891800

llvm-svn: 71860
2009-05-15 16:08:43 +00:00
Ted Kremenek 3281977dbb Fix crash when deriving the enclosing summary of a method whose first selector slot has a null IdentifierInfo*. This happens when analyzing Growl.
llvm-svn: 71857
2009-05-15 15:49:00 +00:00
Anton Korobeynikov dae2d9a852 Unbreak mingw build
llvm-svn: 71856
2009-05-15 11:04:52 +00:00
Owen Anderson e61a56f6f3 Improve compatibility with older versions of Windows.
llvm-svn: 71855
2009-05-15 10:40:23 +00:00