Make options with dashes show correctly on option error.

Summary: There is a bug in at least Boost 1.54 where options with dashes `-` in them are
not handled correctly. Basically all but the last substring after the last dash
is returned.

See: https://github.com/facebook/hhvm/issues/2864

So our error string when an option had an invalid argument was just plain wrong.
Since we can't fix boost very easily and are not planning to upgrade yet, we
workaround it with this fix.

Fixes: #2864

Reviewed By: @paulbiss

Differential Revision: D1681063

Signature: t1:1681063:1416505169:7664cff3c23b8fdfec995c54897eb276d44f92d6
Match PHP5 implementation of SoapVar class

Summary: Get rid of NativeData since PHP5 treats this as a glorified
stdClass object.

Closes #1515

Reviewed By: @JoelMarcey

Differential Revision: D1696892

Signature: t1:1696892:1416934277:ddaa1943a6e2c6a475fb55c1523a073f890365be
Fix repo-schema again

Summary: Actually use the command, rather than the variable name

Reviewed By: @edwinsmith

Differential Revision: D1710008

Signature: t1:1710008:1417456845:d34d21f651f2b984f54472709701c869c6a58bc6
Add support for `fallback' to vasm-arm

Summary: code-gen-arm can generate this instruction, which just aborts the
process right now.

Reviewed By: @bertmaher

Differential Revision: D1707290

Signature: t1:1707290:1417041764:d0fb4e0e1611af800add18984946b04e9c018dfc
Remove IRREGULAR_INSTRS and PSUEDOINSTRS

Summary: Normalize how everything calls hhbc-translator, so we can generate it.
Some of the blockers to doing this earlier are gone (inlining is no longer in
ir-translator), so most of this is just straight-forward; the one bummer is
some bits of information are still only available in NormalizedInstruction
right now, so we have to make HhbcTranslator have access to it on each
bytecode.  We can gradually weed that out later.

Reviewed By: @swtaarrs

Differential Revision: D1701003
Use OPCODES instead of REGULAR_INSTRS

Summary: Now that everything is supported we don't need a separate macro to
generate this.

Reviewed By: @alexmalyshev

Differential Revision: D1701007
Remove IRTranslator

Reviewed By: @alexmalyshev

Differential Revision: D1701009
Automatically look up Ids for AA and SA args

Reviewed By: @alexmalyshev

Differential Revision: D1701011
Remove translator-instrs.h, expand macros at only remaining use site

Reviewed By: @swtaarrs

Differential Revision: D1701013
Move interpone-related code to hhbc-translator-interpone.cpp

Reviewed By: @swtaarrs

Differential Revision: D1701443
Make HhbcTranslator not (effectively) a global variable

Summary: Clean up stuff slightly, so that HhbcTranslator's lifetime is
associated with a lexical scope.  Also fix a few easy things that were members
of Translator for no apparent reason.

Reviewed By: @bertmaher

Differential Revision: D1702328

Signature: t1:1702328:1416944361:d42a042f42e1fed4817ce14d878eb2adc463a516
Make translateRegion not a member of a Translator::

Summary: This seemed easy enough but I'm leaving the rest of mcg and tx alone
for now (I'm trying to de-monolithify HhbcTranslator, not these ;)

Reviewed By: @alexmalyshev

Differential Revision: D1702341

Signature: t1:1702341:1416879534:b6692222517fa5ebf68ddb085f7695a00d7cb4ea
Move MInstrEffects to its own .{h,cpp}

Reviewed By: @alexmalyshev

Differential Revision: D1707003

Signature: t1:1707003:1417041990:52bbdbd615384a1508e1193ef9e0fb6b14cb142f
Disable default_parameter hh tests

Summary: They are failing locally for several people and have been for a while.

Reviewed By: @nigelchanyk

Differential Revision: D1709251

Signature: t1:1709251:1417458268:0c4a1ad229ea992e7ac20621051abea0f3366b8f
Fixes kohana test_formatted_time test case

Summary: public function provider_formatted_time()
	{
		return array(
			// Test the default format
			array('2010-04-16 17:00:00', '5:00PM 16th April 2010'),
			// Now we use our own format
			// Binary date!
			array('01/01/2010 01:00', '1AM 1st January 2010', 'd/m/Y H:i'),
			// Timezones (see #3902)
			array('2011-04-01 01:23:45 Antarctica/South_Pole', '2011-04-01 01:23:45', 'Y-m-d H:i:s e', 'Antarctica/South_Pole'),
			array('2011-04-01 01:23:45 Antarctica/South_Pole', '2011-03-31 14:23:45 Europe/Paris', 'Y-m-d H:i:s e', 'Antarctica/South_Pole'),
			array('2011-04-01 01:23:45 Antarctica/South_Pole', @​1301574225', 'Y-m-d H:i:s e', 'Antarctica/South_Pole'),
		);
	}
public function test_formatted_time($expected, $datetime_str, $timestamp_format = NULL, $timezone = NULL)
{
	$timestamp = Date::formatted_time($datetime_str, $timestamp_format, $timezone);

	$this->assertSame($expected, $timestamp);
}

HHVM will fail the in the fifth data set.
Closes https://github.com/facebook/hhvm/pull/4304

Reviewed By: @fredemmott

Differential Revision: D1697221

Signature: t1:1697221:1417476325:ddcfd3a57250f1d5415561cd4bf5a62689aa2dc7
Added Atom Plugin

Summary: Closes https://github.com/facebook/hhvm/pull/4340

Reviewed By: @jwatzman

Differential Revision: D1704784

Signature: t1:1704784:1417477025:60ed0dda7a390b78faceb5df9f6790ca1619d055
EZC: fix 'Z' type in zend_parse_parameters()

Summary: For both 'Z' and vararg '*' types in zend_parse_parameters(), a zval**
needs to be returned to the caller. I previously thought that temporary
storage would be needed for this, but in fact you can just point to the
TypedValue pref member.
Closes https://github.com/facebook/hhvm/pull/4330

Reviewed By: @sgolemon

Differential Revision: D1701584

Signature: t1:1701584:1417478162:f5f16e0305079f1f8552329a0b0ad5461497c516
Change the object-iteration api to forEachObject(lambda)

Summary: Instead of exposing iterators.

Reviewed By: @markw65

Differential Revision: D1709881
Main converter for AT

Summary: This plumbs together the other bits, to actually read, munge,
and re-write a PHP file. Still a couple features missing, notably doing
this nicely over a directory and actually being able to specify
loose/strict, but it at least is vaugely usable at this point.

Reviewed By: @ptarjan

Differential Revision: D1700788

Signature: t1:1700788:1417468009:ec149ff55ddba4e4a96c77ce123e199cc28d9d5f
Makefile for AT

Summary: So external folks can build it :) Requires pfff installed via
opam, and ocaml 4.

Reviewed By: @int3

Differential Revision: D1702193

Signature: t1:1702193:1416877798:fc14915958b9b6ddfe2121b3e4b80e155dd8989d