Commit Graph

2017 Commits

Author SHA1 Message Date
Daniel Dunbar f538cfa254 ccc: Even more Darwin/cc1 argument translation support.
llvm-svn: 62105
2009-01-12 21:44:10 +00:00
Daniel Dunbar df5598444a ccc: Add leading space in -### output to match gcc.
llvm-svn: 62097
2009-01-12 19:36:35 +00:00
Daniel Dunbar b1a40a6a58 ccc: (Darwin) More argument translation for Darwin/Compile tool.
llvm-svn: 62093
2009-01-12 18:51:02 +00:00
Daniel Dunbar d0b0eca12a ccc: (Darwin) More argument translation for Darwin/Compile tool.
llvm-svn: 62089
2009-01-12 17:53:19 +00:00
Daniel Dunbar 999c85542a ccc: (Darwin) Start implementing argument translation for
Darwin/Compile tool.

llvm-svn: 62085
2009-01-12 09:23:15 +00:00
Daniel Dunbar f12e40736a ccc: When constructing a named output, only use base name (not full
path).

llvm-svn: 62083
2009-01-12 07:48:07 +00:00
Daniel Dunbar e42e520a57 ccc: (Darwin) Move path resolution into ToolChain.
llvm-svn: 62082
2009-01-12 07:45:49 +00:00
Daniel Dunbar 17bbcfd5a0 ccc: Implement the rest of Darwin/Assembler argument translation.
llvm-svn: 62081
2009-01-12 07:40:25 +00:00
Daniel Dunbar c11d8d4a09 ccc: Implement macosx-version-min conditions (including a bug fix).
llvm-svn: 62079
2009-01-12 05:02:38 +00:00
Daniel Dunbar e84d6ed8f8 ccc: Generalize Darwin/Link tool based on Darwin version.
llvm-svn: 62078
2009-01-12 04:21:12 +00:00
Daniel Dunbar 02cd7e4070 ccc: Support arguments which behave like linker inputs.
- Support comma joined options which magically turn into multiple
   value arguments (e.g., -Wl,)

 - Split out separate Arg::render routine for when an argument is
   being rendered as an input (as opposed to in its original form).

 - Add option flag for options which should be rendered without the
   option when they are used as an input (e.g., -Xlinker or -o).

 - Support -weak-l..., -weak_framework, and -weak_library.

llvm-svn: 62075
2009-01-12 03:33:58 +00:00
Daniel Dunbar 027c5fbb6d ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc is
present.

llvm-svn: 62070
2009-01-12 02:24:21 +00:00
Daniel Dunbar fd22768b08 ccc: Add fairly complete argument translation for Darwin link step.
- Some things are still hardcoded, and macosx-version-min comparison
   isn't implemented, but otherwise this very closely matches gcc.

 - The one exception is that arguments (like -framework or -Wl,) which are
   treated as linker inputs instead of options are not being
   forwarded yet.

llvm-svn: 62059
2009-01-11 23:13:15 +00:00
Daniel Dunbar 3b43cf6169 ccc: Add several convenience methods for argument translation.
llvm-svn: 62057
2009-01-11 22:42:24 +00:00
Daniel Dunbar 39a5c22c40 ccc: Add and name a host of arguments.
- Also, fix bug in MultipleValuesOption which was accepting joined
   arguments.

 - Add ArgList::getArgs, provides iterator over all arg instances for a
   given option.
 
 - Option definition is very much in need of cleaning...

llvm-svn: 62054
2009-01-11 22:12:37 +00:00
Daniel Dunbar adf3e5bdbc ccc: Give the Host an opportunity to switch ToolChains when binding
archs (as a driver driver).

llvm-svn: 62053
2009-01-11 22:06:22 +00:00
Daniel Dunbar 10d5adf031 ccc: Print -### output on stderr to match gcc.
llvm-svn: 62052
2009-01-11 22:03:55 +00:00
Daniel Dunbar cb8d7e131c ccc: Introduce ToolChains for mapping Actions to Tools which can
perform them.

 - A ToolChain is a coherent set of tools use in a compilation
   process. The idea is that a ToolChain holds roughly the information
   (specs, search paths, etc.) that is in a single gcc binary.

 - The default ToolChain is selected by the host and will generally
   correspond to what the default system compiler would do. However,
   this can be over-riden for a variety of purposes, for example the
   by the driver driver or for testing.

llvm-svn: 62021
2009-01-10 02:07:54 +00:00
Daniel Dunbar eacf5b174d ccc: Add generic assembler & linker tools which effectively shell out
to gcc.

llvm-svn: 62020
2009-01-10 02:00:04 +00:00
Daniel Dunbar 96977ae536 ccc: Add information about whether type can be user specified (a -x
argument) to InputType.

llvm-svn: 62019
2009-01-10 01:50:42 +00:00
Daniel Dunbar 61f97e290a ccc: Get host information via Driver methods.
llvm-svn: 62011
2009-01-09 22:21:24 +00:00
Daniel Dunbar a3491665a6 ccc: Start defining host information.
- For use by the driver in places where the host alters driver
   behavior (for example, running as a driver driver on darwin).

 - Allow user override for testing purposes.

llvm-svn: 61967
2009-01-09 01:00:40 +00:00
Daniel Dunbar f8b5992b80 ccc: Make proper synthetic arguments in places we have to construct
"fake" options, allowing Tools to be oblivious to whether an argument
is real or synthetic. This kills off DerivedArg & a number of FIXMEs.

llvm-svn: 61871
2009-01-07 18:54:26 +00:00
Daniel Dunbar 7792e90f83 ccc: Change Command to take list of strings for argv instead of Arg
instances; this just complicated things and doesn't seem to provide
any benefit.

llvm-svn: 61869
2009-01-07 18:40:45 +00:00
Daniel Dunbar de482c408c ccc: Extend ArgList to support indexing into a synthetic arg array
(for killing off DerivedArg).

llvm-svn: 61846
2009-01-07 01:57:39 +00:00
Daniel Dunbar d315a274aa ccc: Refactor so that all accesses to actual input strings go through
the ArgList.

llvm-svn: 61844
2009-01-07 01:29:28 +00:00
Daniel Dunbar 697867dadd ccc: Remove ValueArg::setValue, this is no longer used.
llvm-svn: 61794
2009-01-06 06:32:49 +00:00
Daniel Dunbar 85a868f8cc ccc: Track last actual argument instance for each option & change
driver to lookup this way instead of manually scanning arguments in
multiple places.

llvm-svn: 61793
2009-01-06 06:12:13 +00:00
Daniel Dunbar e5e454e199 ccc: Use dummy InputOption and UnknownOption classes instead of
InputArg and UnknownArg.
 - Every argument now always corresponds to some option, which
   simplifies other code.

llvm-svn: 61783
2009-01-06 02:30:10 +00:00
Daniel Dunbar e31bfdd7c7 ccc: Introduce ArgList for keeping input argv & parsed Args together.
llvm-svn: 61780
2009-01-06 01:35:44 +00:00
Daniel Dunbar 6e01600398 Add prototype ccc rewrite.
- Entry point is tools/ccc/xcc until we are a functional replacement
   for ccc.

This is highly experimental (FIXME/LOC ratio of 3.4%), quite crufty,
and barely usable (and then only on my specific Darwin). However, many
of the right ideas are present, and it already fixes a number of
things gcc gets wrong.

The major missing component is argument translation for tools
(translating driver arguments into cc1/ld/as/etc. arguments). This is
a large part of the driver functionality and will probably double the
LOC, but my hope is that the current architecture is relatively
stable.

Documentation & motivation to follow soon...

llvm-svn: 61739
2009-01-05 19:53:30 +00:00
Ted Kremenek 1e0d95e17e "missing ivar release" is a performance bug.
llvm-svn: 58436
2008-10-30 17:29:54 +00:00
Ted Kremenek 4bc52fdd75 Generalize searching for the keyword "leak" in a bug type.
llvm-svn: 58115
2008-10-24 21:23:51 +00:00
Ted Kremenek 049ba7fbb1 For Radar reporting, null dereferences should be default classified as "Crash/Hang/Data loss" <rdar://problem/6315624>
llvm-svn: 58045
2008-10-23 21:36:52 +00:00
Ted Kremenek 7a93cd8ac6 Set reproducibility back to "Always"
llvm-svn: 56891
2008-09-30 23:23:58 +00:00
Daniel Dunbar 9e3b917965 scan-view: Remove some debugging prints.
llvm-svn: 56864
2008-09-30 17:54:44 +00:00
Ted Kremenek 05f3ccda24 Default reproducibility to "Not applicable"
llvm-svn: 56860
2008-09-30 17:28:54 +00:00
Ted Kremenek 9f403161d7 Make "Performance" the default Radar classification for leaks. "Other" for all others (for now).
llvm-svn: 56858
2008-09-30 17:12:32 +00:00
Ted Kremenek fb0fef9157 Make a separate parameter class for "Radar classifications".
Do not save the radar classification to the config file.

llvm-svn: 56856
2008-09-30 17:00:30 +00:00
Ted Kremenek b166299f2b Add "SelectionParameter" class to represent drop-down boxes.
Added "Classification" field to Radar filing.
Modified FileRadar.scpt to take the classification as an argument.

llvm-svn: 56854
2008-09-30 16:37:50 +00:00
Ted Kremenek fef3c4092d Conditionally load/save default parameter value from config file.
llvm-svn: 56852
2008-09-30 16:11:33 +00:00
Ted Kremenek 094ff0b061 Use objects to represent form parameters. This allows us to abstract away some
of the details of HTML rendering of form parameters, and also us with the
ability to delegate other actions (such as in the filling in of default values)
to specific parameter objects.

llvm-svn: 56851
2008-09-30 16:08:13 +00:00
Ted Kremenek a930b56252 Tabs -> Spaces.
llvm-svn: 56833
2008-09-30 05:45:59 +00:00
Daniel Dunbar 068f7f7092 Fix braindead bug, ID number was hardcoded.
llvm-svn: 56789
2008-09-29 16:06:43 +00:00
Daniel Dunbar 08971bf2c4 Change Radar reproducibility to "Always".
llvm-svn: 56644
2008-09-26 05:00:28 +00:00
Daniel Dunbar 8e519d0d48 Disable report crashes link for the time being.
llvm-svn: 56617
2008-09-25 19:59:17 +00:00
Daniel Dunbar 0dbad4670c Add link to report analyzer failures (parse errors, asserts, etc).
llvm-svn: 56606
2008-09-25 06:05:31 +00:00
Daniel Dunbar d8d1fec6bd Add scan-view '--allow-all-hosts' option, by default access is now
restricted to 127.0.0.1.

llvm-svn: 56563
2008-09-24 17:59:41 +00:00
Daniel Dunbar fd462af19e scan-view: Add header and "report bug" links to report pages.
llvm-svn: 56470
2008-09-22 21:43:43 +00:00
Daniel Dunbar d3b096bd5a scan-view: Add links to open files using default file handler.
llvm-svn: 56454
2008-09-22 18:44:46 +00:00
Daniel Dunbar 6c9bf7d92a scan-view: Update for "button" class change, drop magic resolution of
"scanview.css", start action for opening files.

llvm-svn: 56448
2008-09-22 18:05:49 +00:00
Ted Kremenek 2c4a8f414b Removed scan-view's version of scanview.css.
llvm-svn: 56446
2008-09-22 17:55:14 +00:00
Nuno Lopes 47e46ed3da not executable
llvm-svn: 56439
2008-09-22 17:26:14 +00:00
Daniel Dunbar ed4e3210da scan-view: Add links from bug reporting forms to report & summary pages.
llvm-svn: 56427
2008-09-22 03:08:32 +00:00
Daniel Dunbar 2ef3142b92 scan-view: Search for available port if default is unavailable.
llvm-svn: 56426
2008-09-22 02:53:12 +00:00
Daniel Dunbar 34525a91fa scan-view: Store bug reporter defaults in ~/.scanview.cfg
llvm-svn: 56424
2008-09-22 02:27:45 +00:00
Daniel Dunbar 4aed7dede7 scan-view tweak
- Require index.html in provided results directory.

llvm-svn: 56423
2008-09-22 01:42:08 +00:00
Daniel Dunbar 8d139d3d40 scan-view tweaks
- Use more correct HTTP error codes on (unexpected) errors.

 - Use onLoad to set ensure bug submission method gets set correctly.

llvm-svn: 56422
2008-09-22 01:40:14 +00:00
Daniel Dunbar 553fdc6bc7 Improve scan-view report bug (submitted) interface.
Give more meaningful error messages / fail gracefully on bad form
input or SMTP errors.

Use button for Report Bug link (where available).

llvm-svn: 56420
2008-09-22 01:21:30 +00:00
Daniel Dunbar 49351e7eb9 Improve scan-view report bug interface.
- Pulled css out into Resources/scanview.css

llvm-svn: 56416
2008-09-22 00:11:51 +00:00
Daniel Dunbar 19af4ea47b scan-view tweaks:
- Add simple favicon
 - Allow resolving source file paths (should be rethought)

llvm-svn: 56414
2008-09-21 23:02:25 +00:00
Daniel Dunbar daa26f879e scan-view tweaks:
- Update for scan-build table change.
 - Add --auto-reload option (for development, avoids need to restart
   server).
 - Always send Last-Modified, with a reasonable value for dynamic content.

llvm-svn: 56409
2008-09-21 20:34:58 +00:00
Daniel Dunbar b9c42108d9 scan-view: Add more information to default bug description and use
iframe to embed bug view (for easy reference).

llvm-svn: 56406
2008-09-21 19:08:54 +00:00
Daniel Dunbar a00b7a8240 Don't add Bugzilla reporter (not yet implemented)
llvm-svn: 56404
2008-09-21 19:06:51 +00:00
Ted Kremenek ebb4245b84 Have ScanView.py generate a "<td></td>" pair in the output HTML instead of having scan-build output an empty (and possibly unused) <td>.
llvm-svn: 56393
2008-09-21 03:55:51 +00:00
Daniel Dunbar 025b48dd6e Make scan-view more robust / friendly when bug reporting fails.
llvm-svn: 56382
2008-09-20 01:43:16 +00:00
Daniel Dunbar d4c2337ef5 Add initial implementation of scan-view
- Web based interface to static analyzer.

llvm-svn: 56375
2008-09-19 23:32:11 +00:00