Was 256 bytes max. The original purpose of this constraint was to
limit the amount of debug output. However, the string function in
question (UtPrintString) is now used for the disassembler also,
where 256 bytes is insufficient. Reported by RehabMan@GitHub.
1) Allow regular compiler to run normally even if there are
preprocessor errors. All preprocessor directives are stripped
anyway.
2) Attempt to pop an empty directive stack indicates that there
is a missing #endif directive, display appropriate message.
Must actually close the .SRC intermediate file rather than just
zero out the handle. Otherwise, the file cannot be deleted when
the compiler terminates.
There may not be a standard on this, as some C compilers seem to
abort immediately, others not. For iASL, we will abort
immediately on a #error preprocessor directive.
This fix ensures that the intermediate preprocessor .i file is
closed before an attempt is made to delete it. This has to be
done with care, because it may be the same as the global input
file, depending where/when the compiler terminated/aborted.
Add some comments concerning behavior when the _STA method does
not exist. According to the ACPI specification, in this case the
device should be assumed to be present, functional, and enabled.
The ISO 9899:1990 7.8.1.3 specification states that undefined
behaviour may occur if va_end is not invoked before return.
Colin King <colin.king@canonical.com>.
A restructuring/change to the initialization sequence caused this
option to no longer work properly, because the list of defines
was cleared after command line processing. Move the clearing of
this list to before command line processing.
The package object validation for return values from the predefined
ACPI names is a bit too strict, it does not allow names references
within the package (which will be resolved at runtime.) These
types of references cannot be validated at compile time.
This change ignores named references within package objects for
predefined names that return or define static packages.
Expand value saved after a call to getc() to an int, otherwise
some compilers complain during comparison to EOF later.
Reported by Naresh Bhat <naresh.bhat@linaro.org>
No longer support generation of 32-bit versions of the ACPICA
applications on a 64-bit platform. This was unused and causes
problems with some compilers due to the use of -m32 and -m64 flags.
This change fixes a problem introduced in 20130328 where _INI methods
are no longer executed properly because of a memory block that is not
initialized correctly.
ACPICA BZ 1016. Tomasz Nowicki <tomasz.nowicki@linaro.org>.
If a thread blocks within the method for any reason, and another thread
enters the method, the method will fail because an attempt will be
made to create the same (named) object twice.
In this case, issue a remark that the method should be marked
serialized. ACPICA BZ 909.