Compare commits
14 Commits
e37a6dcd05
...
main
Author | SHA1 | Date | |
---|---|---|---|
437205c3ea | |||
a2b6e82ba3 | |||
614e388857 | |||
aad90113f7 | |||
ea73f9f8d2 | |||
5b2953c9c7 | |||
8889a6580d | |||
8ac1af2bf6 | |||
f74f9c240d | |||
f078e76763 | |||
7ec3d19818 | |||
8e507223c0 | |||
3aa232ab3e | |||
5db759b684 |
@ -165,8 +165,8 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/ac/ar-lib \
|
||||
$(top_srcdir)/ac/compile $(top_srcdir)/ac/config.guess \
|
||||
$(top_srcdir)/ac/config.sub $(top_srcdir)/ac/install-sh \
|
||||
$(top_srcdir)/ac/ltmain.sh $(top_srcdir)/ac/missing ac/ar-lib \
|
||||
ac/compile ac/config.guess ac/config.sub ac/install-sh \
|
||||
ac/ltmain.sh ac/missing
|
||||
ac/compile ac/config.guess ac/config.sub ac/depcomp \
|
||||
ac/install-sh ac/ltmain.sh ac/missing
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
0
moo/ac/config.guess → ac/config.guess
vendored
0
moo/ac/config.guess → ac/config.guess
vendored
0
moo/ac/config.sub → ac/config.sub
vendored
0
moo/ac/config.sub → ac/config.sub
vendored
0
moo/aclocal.m4 → aclocal.m4
vendored
0
moo/aclocal.m4 → aclocal.m4
vendored
17
moo/configure → configure
vendored
17
moo/configure → configure
vendored
@ -18190,6 +18190,23 @@ MOO_PROJECT_AUTHOR="${PACKAGE_BUGREPORT}"
|
||||
MOO_PROJECT_URL="${PACKAGE_URL}"
|
||||
|
||||
|
||||
if test `expr " $0" : " '.*"` = 0; then
|
||||
moo_configure_cmd="'$0'"
|
||||
else
|
||||
moo_configure_cmd="$0"
|
||||
fi
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define MOO_CONFIGURE_ARGS "$ac_configure_args"
|
||||
_ACEOF
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define MOO_CONFIGURE_CMD "$moo_configure_cmd"
|
||||
_ACEOF
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files Makefile tools/Makefile lib/Makefile mod/Makefile bin/Makefile t/Makefile wasm/Makefile"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
@ -842,6 +842,16 @@ dnl ==== subsititution of some key items ====
|
||||
AC_SUBST(MOO_PROJECT_AUTHOR, "${PACKAGE_BUGREPORT}")
|
||||
AC_SUBST(MOO_PROJECT_URL, "${PACKAGE_URL}")
|
||||
|
||||
dnl === configure arguments
|
||||
if test `expr " [$]0" : " '.*"` = 0; then
|
||||
moo_configure_cmd="'[$]0'"
|
||||
else
|
||||
moo_configure_cmd="[$]0"
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(MOO_CONFIGURE_ARGS, ["$ac_configure_args"], [configure arguments])
|
||||
AC_DEFINE_UNQUOTED(MOO_CONFIGURE_CMD, ["$moo_configure_cmd"], [configure command])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
tools/Makefile
|
@ -166,28 +166,35 @@ class System(Apex)
|
||||
// TODO: Do i have to protected this in an exception handler???
|
||||
//TODO: Execute Handler for signo.
|
||||
|
||||
System logNl: "Interrupt dectected - signal no - " & signo asString.
|
||||
System logNl: "Interrupt detected - signal no - " & signo asString.
|
||||
|
||||
//System logNl: "WWWWWWWWWWWWWWWWWWWWWWWWW ".
|
||||
// user-defined signal handler is not allowed for 16rFF
|
||||
if (signo == 16rFF) { goto done }.
|
||||
//System logNl: "OHHHHHHHHHHHHHH ".
|
||||
|
||||
ifnot (self.shr isEmpty)
|
||||
{
|
||||
//System logNl: "About to execute handler for the signal detected - " & signo asString.
|
||||
self.shr do: [ :handler | handler value: signo ].
|
||||
}
|
||||
else
|
||||
{
|
||||
//System logNl: "Jumping to done detected - signal no - " & signo asString.
|
||||
if (signo == 2) { goto done }.
|
||||
}.
|
||||
}.
|
||||
//System logNl: "Waiting for signal on os_intr_sem...".
|
||||
os_intr_sem wait.
|
||||
}.
|
||||
done:
|
||||
//System logNl: "Jumped to done detected - signal no - " & signo asString.
|
||||
nil.
|
||||
]
|
||||
ensure: [
|
||||
| pid proc oldps |
|
||||
|
||||
//System logNl: "Aborting signal handler......".
|
||||
// stop subscribing to signals.
|
||||
os_intr_sem signal.
|
||||
os_intr_sem unsignal.
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
@ -28,19 +28,10 @@
|
||||
|
||||
#define DECODE_LOG_MASK (MOO_LOG_MNEMONIC | MOO_LOG_DEBUG)
|
||||
|
||||
#if defined(MOO_BUILD_RELEASE)
|
||||
/* get rid of instruction logging regardless of the log mask
|
||||
* in the release build */
|
||||
# define LOG_INST_0(moo,fmt)
|
||||
# define LOG_INST_1(moo,fmt,a1)
|
||||
# define LOG_INST_2(moo,fmt,a1,a2)
|
||||
# define LOG_INST_3(moo,fmt,a1,a2,a3)
|
||||
#else
|
||||
# define LOG_INST_0(moo,fmt) MOO_LOG1(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer)
|
||||
# define LOG_INST_1(moo,fmt,a1) MOO_LOG2(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1)
|
||||
# define LOG_INST_2(moo,fmt,a1,a2) MOO_LOG3(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1, a2)
|
||||
# define LOG_INST_3(moo,fmt,a1,a2,a3) MOO_LOG4(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1, a2, a3)
|
||||
#endif
|
||||
#define LOG_INST_0(moo,fmt) MOO_LOG1(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer)
|
||||
#define LOG_INST_1(moo,fmt,a1) MOO_LOG2(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1)
|
||||
#define LOG_INST_2(moo,fmt,a1,a2) MOO_LOG3(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1, a2)
|
||||
#define LOG_INST_3(moo,fmt,a1,a2,a3) MOO_LOG4(moo, DECODE_LOG_MASK, " %06zd " fmt "\n", fetched_instruction_pointer, a1, a2, a3)
|
||||
|
||||
#define FETCH_BYTE_CODE(moo) (cdptr[ip++])
|
||||
#define FETCH_BYTE_CODE_TO(moo,v_oow) (v_oow = FETCH_BYTE_CODE(moo))
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
@ -135,6 +135,7 @@ static MOO_INLINE const char* proc_state_to_string (int state)
|
||||
|
||||
static int delete_sem_from_sem_io_tuple (moo_t* moo, moo_oop_semaphore_t sem, int force);
|
||||
static void signal_io_semaphore (moo_t* moo, moo_ooi_t io_handle, moo_ooi_t mask);
|
||||
static void terminate_all_processes (moo_t* moo);
|
||||
static int send_message (moo_t* moo, moo_oop_char_t selector, moo_ooi_t nargs, int to_super);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
@ -165,6 +166,24 @@ static MOO_INLINE void vm_cleanup (moo_t* moo)
|
||||
/* TODO: clean up semaphores being waited on
|
||||
MOO_ASSERT (moo, moo->sem_io_wait_count == 0); */
|
||||
|
||||
if (moo->processor->total_count != MOO_SMOOI_TO_OOP(0))
|
||||
{
|
||||
/* the stock kernel code is supposed to stop all processes.
|
||||
* if the code reaches here, the kernel code must be buggy */
|
||||
MOO_LOG3 (moo, MOO_LOG_WARN, "Warning - non-zero number of processes upon VM clean-up - total: %zd runnable: %zd suspended: %zd\n",
|
||||
(moo_ooi_t)MOO_OOP_TO_SMOOI(moo->processor->total_count),
|
||||
(moo_ooi_t)MOO_OOP_TO_SMOOI(moo->processor->runnable.count),
|
||||
(moo_ooi_t)MOO_OOP_TO_SMOOI(moo->processor->suspended.count));
|
||||
|
||||
MOO_LOG0 (moo, MOO_LOG_WARN, "Warning - terminating all residue processes\n");
|
||||
terminate_all_processes (moo);
|
||||
}
|
||||
|
||||
MOO_ASSERT (moo, moo->processor->active == moo->nil_process);
|
||||
MOO_ASSERT (moo, MOO_OOP_TO_SMOOI(moo->processor->total_count) == 0);
|
||||
MOO_ASSERT (moo, MOO_OOP_TO_SMOOI(moo->processor->runnable.count) == 0);
|
||||
MOO_ASSERT (moo, MOO_OOP_TO_SMOOI(moo->processor->suspended.count) == 0);
|
||||
|
||||
for (i = 0; i < moo->sem_io_map_capa;)
|
||||
{
|
||||
moo_ooi_t sem_io_index;
|
||||
@ -778,6 +797,22 @@ static void terminate_process (moo_t* moo, moo_oop_process_t proc)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void terminate_all_processes (moo_t* moo)
|
||||
{
|
||||
while (MOO_OOP_TO_SMOOI(moo->processor->suspended.count) > 0)
|
||||
{
|
||||
terminate_process (moo, moo->processor->suspended.first);
|
||||
}
|
||||
|
||||
while (MOO_OOP_TO_SMOOI(moo->processor->runnable.count) > 0)
|
||||
{
|
||||
terminate_process (moo, moo->processor->runnable.first);
|
||||
}
|
||||
|
||||
MOO_ASSERT (moo, MOO_OOP_TO_SMOOI(moo->processor->total_count) == 0);
|
||||
MOO_ASSERT (moo, moo->processor->active == moo->nil_process);
|
||||
}
|
||||
|
||||
static void resume_process (moo_t* moo, moo_oop_process_t proc)
|
||||
{
|
||||
if (proc->state == MOO_SMOOI_TO_OOP(PROC_STATE_SUSPENDED))
|
||||
@ -1959,11 +1994,11 @@ void moo_clearmethodcache (moo_t* moo)
|
||||
|
||||
static int start_initial_process_and_context (moo_t* moo, const moo_oocs_t* objname, const moo_oocs_t* mthname)
|
||||
{
|
||||
/* the initial context is a fake context. if objname is 'Stix' and
|
||||
* mthname is 'main', this function emulates message sending 'Stix main'.
|
||||
/* the initial context is a fake context. if objname is 'Moo' and
|
||||
* mthname is 'main', this function emulates message sending 'Moo main'.
|
||||
* it should emulate the following logical byte-code sequences:
|
||||
*
|
||||
* push Stix
|
||||
* push Moo
|
||||
* send #main
|
||||
*/
|
||||
moo_oop_context_t ctx;
|
||||
@ -4868,7 +4903,7 @@ static int send_message (moo_t* moo, moo_oop_char_t selector, moo_ooi_t nargs, i
|
||||
MOO_ASSERT (moo, MOO_OBJ_GET_FLAGS_TYPE(selector) == MOO_OBJ_TYPE_CHAR);
|
||||
MOO_ASSERT (moo, MOO_CLASSOF(moo, selector) == moo->_symbol);
|
||||
|
||||
receiver = MOO_STACK_GET(moo, moo->sp - nargs);
|
||||
receiver = MOO_STACK_GETRCV(moo, nargs);
|
||||
|
||||
#if defined(MOO_PROFILE_VM)
|
||||
moo->stat.message_sends++;
|
@ -839,7 +839,7 @@ static int fmt_outv (moo_fmtout_t* fmtout, va_list ap)
|
||||
/* zeropad must not take effect for 's' */
|
||||
if (flagc & FLAGC_ZEROPAD) padc = ' ';
|
||||
if (lm_flag & LF_H) goto lowercase_s;
|
||||
#if defined(MOO_OOCH_IS_UCH)
|
||||
#if defined(MOO_OOCH_IS_BCH)
|
||||
if (lm_flag & LF_J) goto lowercase_s;
|
||||
#endif
|
||||
uppercase_s:
|
||||
@ -1223,7 +1223,7 @@ static int fmt_outv (moo_fmtout_t* fmtout, va_list ap)
|
||||
sign = 0;
|
||||
if (lm_flag & LF_J)
|
||||
{
|
||||
#if 0 && defined(__GNUC__) && \
|
||||
#if 1 && !defined(__clang__) && defined(__GNUC__) && \
|
||||
(MOO_SIZEOF_UINTMAX_T > MOO_SIZEOF_OOW_T) && \
|
||||
(MOO_SIZEOF_UINTMAX_T != MOO_SIZEOF_LONG_LONG) && \
|
||||
(MOO_SIZEOF_UINTMAX_T != MOO_SIZEOF_LONG)
|
||||
@ -1265,7 +1265,7 @@ static int fmt_outv (moo_fmtout_t* fmtout, va_list ap)
|
||||
handle_sign:
|
||||
if (lm_flag & LF_J)
|
||||
{
|
||||
#if 0 && defined(__GNUC__) && \
|
||||
#if 1 && !defined(__clang__) && defined(__GNUC__) && \
|
||||
(MOO_SIZEOF_INTMAX_T > MOO_SIZEOF_OOI_T) && \
|
||||
(MOO_SIZEOF_UINTMAX_T != MOO_SIZEOF_LONG_LONG) && \
|
||||
(MOO_SIZEOF_UINTMAX_T != MOO_SIZEOF_LONG)
|
@ -339,6 +339,12 @@
|
||||
/* build release/debug */
|
||||
#undef MOO_BUILD_RELEASE
|
||||
|
||||
/* configure arguments */
|
||||
#undef MOO_CONFIGURE_ARGS
|
||||
|
||||
/* configure command */
|
||||
#undef MOO_CONFIGURE_CMD
|
||||
|
||||
/* enable dynamic module capability */
|
||||
#undef MOO_ENABLE_DYNAMIC_MODULE
|
||||
|
@ -663,12 +663,6 @@ moo_oow_t moo_byte_to_bcstr (
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
MOO_EXPORT int moo_get_ucwidth (
|
||||
moo_uch_t uc
|
||||
);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#if defined(MOO_OOCH_IS_UCH)
|
||||
# define moo_conv_oocstr_to_bcstr_with_cmgr(oocs,oocslen,bcs,bcslen,cmgr) moo_conv_ucstr_to_bcstr_with_cmgr(oocs,oocslen,bcs,bcslen,cmgr)
|
||||
# define moo_conv_oochars_to_bchars_with_cmgr(oocs,oocslen,bcs,bcslen,cmgr) moo_conv_uchars_to_bchars_with_cmgr(oocs,oocslen,bcs,bcslen,cmgr)
|
@ -1105,26 +1105,26 @@ struct moo_dbgi_method_t
|
||||
|
||||
enum moo_log_mask_t
|
||||
{
|
||||
MOO_LOG_DEBUG = (1u << 0),
|
||||
MOO_LOG_INFO = (1u << 1),
|
||||
MOO_LOG_WARN = (1u << 2),
|
||||
MOO_LOG_ERROR = (1u << 3),
|
||||
MOO_LOG_FATAL = (1u << 4),
|
||||
MOO_LOG_DEBUG = ((moo_bitmask_t)1 << 0),
|
||||
MOO_LOG_INFO = ((moo_bitmask_t)1 << 1),
|
||||
MOO_LOG_WARN = ((moo_bitmask_t)1 << 2),
|
||||
MOO_LOG_ERROR = ((moo_bitmask_t)1 << 3),
|
||||
MOO_LOG_FATAL = ((moo_bitmask_t)1 << 4),
|
||||
|
||||
MOO_LOG_UNTYPED = (1u << 6), /* only to be used by MOO_DEBUGx() and MOO_INFOx() */
|
||||
MOO_LOG_COMPILER = (1u << 7),
|
||||
MOO_LOG_VM = (1u << 8),
|
||||
MOO_LOG_MNEMONIC = (1u << 9), /* bytecode mnemonic */
|
||||
MOO_LOG_GC = (1u << 10),
|
||||
MOO_LOG_IC = (1u << 11), /* instruction cycle, fetch-decode-execute */
|
||||
MOO_LOG_PRIMITIVE = (1u << 12),
|
||||
MOO_LOG_APP = (1u << 13), /* moo applications, set by moo logging primitive */
|
||||
MOO_LOG_UNTYPED = ((moo_bitmask_t)1 << 6), /* only to be used by MOO_DEBUGx() and MOO_INFOx() */
|
||||
MOO_LOG_COMPILER = ((moo_bitmask_t)1 << 7),
|
||||
MOO_LOG_VM = ((moo_bitmask_t)1 << 8),
|
||||
MOO_LOG_MNEMONIC = ((moo_bitmask_t)1 << 9), /* bytecode mnemonic */
|
||||
MOO_LOG_GC = ((moo_bitmask_t)1 << 10),
|
||||
MOO_LOG_IC = ((moo_bitmask_t)1 << 11), /* instruction cycle, fetch-decode-execute */
|
||||
MOO_LOG_PRIMITIVE = ((moo_bitmask_t)1 << 12),
|
||||
MOO_LOG_APP = ((moo_bitmask_t)1 << 13), /* moo applications, set by moo logging primitive */
|
||||
|
||||
MOO_LOG_ALL_LEVELS = (MOO_LOG_DEBUG | MOO_LOG_INFO | MOO_LOG_WARN | MOO_LOG_ERROR | MOO_LOG_FATAL),
|
||||
MOO_LOG_ALL_TYPES = (MOO_LOG_UNTYPED | MOO_LOG_COMPILER | MOO_LOG_VM | MOO_LOG_MNEMONIC | MOO_LOG_GC | MOO_LOG_IC | MOO_LOG_PRIMITIVE | MOO_LOG_APP),
|
||||
|
||||
MOO_LOG_STDOUT = (1u << 14), /* write log messages to stdout without timestamp. MOO_LOG_STDOUT wins over MOO_LOG_STDERR. */
|
||||
MOO_LOG_STDERR = (1u << 15) /* write log messages to stderr without timestamp. */
|
||||
MOO_LOG_STDOUT = ((moo_bitmask_t)1 << 14), /* write log messages to stdout without timestamp. MOO_LOG_STDOUT wins over MOO_LOG_STDERR. */
|
||||
MOO_LOG_STDERR = ((moo_bitmask_t)1 << 15) /* write log messages to stderr without timestamp. */
|
||||
};
|
||||
typedef enum moo_log_mask_t moo_log_mask_t;
|
||||
|
@ -24,7 +24,10 @@
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if defined(__GNUC__)
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
# pragma pack(push,1)
|
||||
#elif defined(__GNUC__)
|
||||
# pragma pack(1)
|
||||
#elif defined(__HP_aCC) || defined(__HP_cc)
|
||||
# pragma PACK 1
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
@ -13,7 +13,7 @@
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAfRRANTIES
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user