Commit Graph

10749 Commits

Author SHA1 Message Date
Daniel Dunbar 77c7e3be19 Driver: Include Casting header definitions in a few places, add
Action::getInputs.

llvm-svn: 67035
2009-03-16 05:17:44 +00:00
Sebastian Redl ed0f3b021e Parser support for rvalue references.
llvm-svn: 67033
2009-03-15 22:02:01 +00:00
Anders Carlsson 5bd30395b9 (Hopefully) instantiate dependent array types correctly.
llvm-svn: 67032
2009-03-15 20:12:13 +00:00
Anders Carlsson 27de6a5e91 Handle static_asserts when instantiating structs.
llvm-svn: 67031
2009-03-15 18:44:04 +00:00
Anders Carlsson a39058118b Add the ability to clone integer and string literals. Use it when instantiating template expressions.
llvm-svn: 67030
2009-03-15 18:34:13 +00:00
Sebastian Redl 6d4256c3c1 Convert a bunch of actions to smart pointers, and also bring PrintParserCallbacks a bit more in line with reality.
llvm-svn: 67029
2009-03-15 17:47:39 +00:00
Douglas Gregor afd7c9c855 Fix bitfield-instantiation ownership bug noticed by Anders
llvm-svn: 67028
2009-03-15 17:43:26 +00:00
Anders Carlsson 78e2bc0328 Make sure to release the expressions.
llvm-svn: 67027
2009-03-15 17:35:16 +00:00
Sebastian Redl 1889b6e219 Keep diagnostic td in sync with r67015.
llvm-svn: 67026
2009-03-15 10:42:31 +00:00
Daniel Dunbar 27a08fab6b Add note on theoretical IRgen improvement.
llvm-svn: 67024
2009-03-15 06:39:56 +00:00
Daniel Dunbar 64895a0703 Remove a FIXME.
llvm-svn: 67022
2009-03-15 06:05:20 +00:00
Daniel Dunbar 81191f67bd Fix comment typo.
llvm-svn: 67021
2009-03-15 05:58:43 +00:00
Daniel Dunbar 2e8536cfaa Only intptr_t is protected by __intptr_t_defined.
llvm-svn: 67018
2009-03-15 03:16:47 +00:00
Daniel Dunbar 5af8b78ea9 Driver: Typo fix.
llvm-svn: 67017
2009-03-15 01:46:37 +00:00
Daniel Dunbar 02ae54c549 Driver: claim input arguments when building phases.
llvm-svn: 67016
2009-03-15 01:40:22 +00:00
Daniel Dunbar adc91e6597 Driver: Start warning about unused arguments.
- This has a number of current flaws, enabling now to flush out
   problems while bringing up other parts.

llvm-svn: 67015
2009-03-15 01:38:15 +00:00
Daniel Dunbar ae0e55eb7f Driver: Update ArgList::{hasArg,getLastArg} to optionally claim the
arguments if they exist.

llvm-svn: 67014
2009-03-15 00:48:16 +00:00
Daniel Dunbar 36a3e92521 Don't accept '$' in identifiers in assembler-with-cpp mode.
llvm-svn: 67013
2009-03-15 00:11:28 +00:00
Sebastian Redl 4ae9b126fe Revert the switch to the tablegen diags. It fails for seperate objdir builds and cmake builds, and I have no clue what to do about it. Revisit this after someone with a clue about the build systems has looked at it.
llvm-svn: 67009
2009-03-14 15:58:54 +00:00
Sebastian Redl 51e037e3c4 Switch diagnostics from .def to tablegen files. Please validate the Windows build.
llvm-svn: 67007
2009-03-14 12:00:12 +00:00
Sebastian Redl 5a8987ca51 Update tablegen diagnostic files to be in sync with the def files.
llvm-svn: 67004
2009-03-14 10:09:49 +00:00
Ted Kremenek fcf7348f80 Update checker build.
llvm-svn: 66999
2009-03-14 00:46:46 +00:00
Anders Carlsson 54b2698587 Handle dependent types/exprs in static_assert expressions.
llvm-svn: 66997
2009-03-14 00:33:21 +00:00
Ted Kremenek d0fa573a7d Remove dead DeclarationName constructors that involving knowing about the
internal implementation of Selector.

llvm-svn: 66996
2009-03-14 00:27:40 +00:00
Anders Carlsson 5bbe1d7ba7 More static_assert work. Check that the assert expr is valid and show an error if it's false. Create the declaration and add it to the current context.
llvm-svn: 66995
2009-03-14 00:25:26 +00:00
Douglas Gregor 52aba87df7 Check for overflow and signedness problems with template
arguments. Eliminates a FIXME.

llvm-svn: 66993
2009-03-14 00:20:21 +00:00
Ted Kremenek 9a46804ca8 Make Selector::getIdentifierInfo() private. I took a first attempt at this last
week in:

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090302/013580.html

That patch caused the output of the diagnostics to change. Since
'DeclarationName' can already reason about Selectors and the Diagnostics logic
reasons about DeclarationName, there is no additional code needed to get the
diagnostics working by making Selector::getIdentifierInfo() private.

llvm-svn: 66992
2009-03-14 00:20:08 +00:00
Daniel Dunbar 29de588ac2 Don't run simplify lib calls with -ffreestanding (fix for already
failing test case).

llvm-svn: 66991
2009-03-14 00:15:04 +00:00
Douglas Gregor 69bd16d814 Make sure that the canonical representation of integral template arguments uses the bitwidth and signedness of the template parameter
llvm-svn: 66990
2009-03-14 00:03:48 +00:00
Douglas Gregor 084d855a17 Implement template instantiation for the prefix unary operators. As
always, refactored the existing logic to tease apart the parser action
and the semantic analysis shared by the parser and template
instantiation.

llvm-svn: 66987
2009-03-13 23:49:33 +00:00
Daniel Dunbar 1bb3b2ccf3 Driver: Add types::{isAcceptedByClang,isCXX} predicates.
llvm-svn: 66986
2009-03-13 23:46:19 +00:00
Daniel Dunbar 313c291269 Driver: Add simple Job classes, simple wrappers for information about
what processes to execute during a compilation.

llvm-svn: 66985
2009-03-13 23:36:33 +00:00
Mike Stump 5469f29aa9 Do up codegen for function static data and externs in functions in block
literals.

llvm-svn: 66984
2009-03-13 23:34:28 +00:00
Anders Carlsson b4cf3ad61b Pass more sane arguments to ActOnStaticAssertDeclaration
llvm-svn: 66983
2009-03-13 23:29:20 +00:00
Daniel Dunbar 438ff8dbe7 Driver: Action vtables were still hungry.
llvm-svn: 66980
2009-03-13 23:17:57 +00:00
Ted Kremenek 6483bc2f19 BlockDecl::Destroy now deallocates BlockDecl's array of ParmVarDecl*.
llvm-svn: 66979
2009-03-13 23:17:24 +00:00
Daniel Dunbar 3f261ff66b Driver: Provide food and shelter for Action vtables.
llvm-svn: 66978
2009-03-13 23:08:03 +00:00
Daniel Dunbar 94d48e0bd0 Force triple for a couple test cases.
llvm-svn: 66974
2009-03-13 22:48:51 +00:00
Chris Lattner c890aa2802 wire up a new -fno-builtin option, make it control things like simplifylibcalls,
etc and make freestanding imply it.

llvm-svn: 66972
2009-03-13 22:38:49 +00:00
Ted Kremenek 85d00b14fa Include component warning TableGen files in Diagnostic.td.
llvm-svn: 66969
2009-03-13 22:19:07 +00:00
Daniel Dunbar 95e6b191cb Driver: Sprinkle some consts in, stub out BuildJobs method.
llvm-svn: 66968
2009-03-13 22:12:33 +00:00
Daniel Dunbar a493ff47bd Update test.
llvm-svn: 66967
2009-03-13 22:11:42 +00:00
Chris Lattner 622b1041ca add a testcase for recursion through blocks pointers, rdar://6676764.
llvm-svn: 66965
2009-03-13 22:00:25 +00:00
Chris Lattner e07ea35817 fix PR3798 by ignoring all diagnostics generated while repreprocessing a file in rewrite macros.
llvm-svn: 66961
2009-03-13 21:44:46 +00:00
Chris Lattner 83aba00ee8 make Preprocessor::Diags be a pointer instead of a reference.
llvm-svn: 66955
2009-03-13 21:17:43 +00:00
Chris Lattner 80c21df8ea use accessor instead of poking ivar directly
llvm-svn: 66954
2009-03-13 21:17:23 +00:00
Douglas Gregor 4b7f3d7344 Devious test-case involved overload resolution and ADL during template instantiation.
llvm-svn: 66951
2009-03-13 21:04:12 +00:00
Daniel Dunbar c178c5f126 Driver: Desensitize test to location of input.
llvm-svn: 66950
2009-03-13 21:03:35 +00:00
Douglas Gregor 0950e41b73 Implement template instantiation for several more kinds of expressions:
- C++ function casts, e.g., T(foo)
  - sizeof(), alignof()

More importantly, this allows us to verify that we're performing
overload resolution during template instantiation, with
argument-dependent lookup and the "cached" results of name lookup from
the template definition.

llvm-svn: 66947
2009-03-13 21:01:28 +00:00
Ted Kremenek decee183ee Fix typo.
llvm-svn: 66944
2009-03-13 20:47:27 +00:00