Hi,
It should not be necessary to require semantic-c and semantic-gcc in
your .emacs file. Only put configuration changes to the preprocessor
variables (symbols or files) in your .emacs. Upon loading your first C
file, semantic-c and semantic-gcc will get pulled in, and your
configurations setup.
If you want to change those settings AFTER semantic-c or gcc is already
required into Emacs, you need to run
(semantic-c-reset-preprocessor-symbol-map).
Eric
On 09/13/2011 08:33 PM, Abdellatif El Khlifi wrote:
> Hi,
>
> Good news :) it begins to work.
>
> In fact, earlier I made a new configuration similar to my kernel
> configuration based on ede-cpp-root-project. And declared USE1 in a
> header file included in the source code, USE2 through ":spp-table" and
> USE3 in an out of project header file included through
> semantic-lex-c-preprocessor-symbol-file.
>
> The result was the same as the kernel one: Only USE2 was recognized by semantic.
>
> So I replaced:
>
> (require 'semantic-gcc)
> (require 'semantic-c)
>
> by :
>
> (require 'semantic-gcc)
> (require 'semantic-lex-spp)
>
> Then I changed the location of some other configurations. And I added
> the header file including USE1 through
> semantic-lex-c-preprocessor-symbol-file. Now it works. All 3 defines
> are detected ! I think that the solution is due to the replacement of
> semantic-c by semantic-gcc. May be they were conflicting with each
> other.
>
> My issue now is that I prefer to put (with #include) all header files
> included in the source code and having some defines like USE1 in a
> single header file and that I include simply this one in the ~/.emacs
> file (semantic-lex-c-preprocessor-symbol-file). I tried but it doesn't
> work.
>
> All other defines are detected but not these ones.
>
>
> Abdellatif
>
> On Tue, Sep 13, 2011 at 2:01 AM, Eric M. Ludlam<ericludlam@...> wrote:
>> Hi,
>>
>> It sounds like USE1 and LINUX_ARM_ARCH aren't defined when parsing
>> the file. Use semantic-c-describe-environment to validate if that is
>> true or not. If those symbols are not there, you need to make sure they
>> get defined by either adding the header from which they come to the
>> symbol-file variable you are using below, or by adding them by hand into
>> the preprocessor-symbol-map you are also using.
>>
>> CEDET should correctly parse the #define statements even with the
>> misc spcaces in front of them.
>>
>> Eric
>>
>> On 09/11/2011 12:29 AM, Abdellatif El Khlifi wrote:
>>> Hello,
>>>
>>> Thank you for the answer.
>>>
>>> I did these steps:
>>>
>>> - added (add-to-list 'semantic-lex-c-preprocessor-symbol-file "full
>>> path to the header file") to the ~/.emacs
>>> - removed ~/.semanticdb
>>> - restarted emacs , said no to the message box
>>> - M-x semanticdb-find-test-translate-paths
>>> - forced tag refresh in senator menu
>>> - restarted emacs , said yes to the message box
>>> - M-x semanticdb-find-test-translate-paths
>>> - forced tag refresh in senator menu
>>>
>>> When I use intellisense I find that only __KERNEL__ is recognized.
>>> __LINUX_ARM_ARCH__ and USE1 are not.
>>>
>>> __KERNEL__ : defined with semantic-lex-c-preprocessor-symbol-map
>>> USE1 : defined in a header file included by the current C source file.
>>> __LINUX_ARM_ARCH__ : defined with semantic-lex-c-preprocessor-symbol-file
>>>
>>> Thank you for the help.
>>>
>>> On Sat, Sep 10, 2011 at 1:26 PM, Eric M. Ludlam<ericludlam@...> wrote:
>>>> Hi,
>>>>
>>>> Sorry about the late reply. I thought I'd replied to this earlier.
>>>>
>>>> In my experiments, the parsing here worked fine. It seems likely that for
>>>> this file, it was parsed and the tags stowed away when you noticed the
>>>> problem. If you then added the configurations but the file was never
>>>> edited, then it would appear as you described below. In your file, you can
>>>> use the senator menu to select a forced tag refresh. If you have big piles
>>>> of files that have this issue, now that you've reconfigured things, you can
>>>> delete items from ~/.semanticdb matching the directories you care about, and
>>>> start over and things should be fine.
>>>>
>>>> The one problem that will persist is related to:
>>>>
>>>>> USE1 : defined in a header file included by the current C source file.
>>>>
>>>> where semantic doesn't actually include the files for you, so you would need
>>>> to add it to semantic-lex-c-preprocessor-symbol-map, or add it's header file
>>>> to semantic-lex-c-preprocessor-symbol-file.
>>>>
>>>> Eric
>>>>
>>>> On 09/05/2011 05:55 PM, Abdellatif El Khlifi wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I am trying to use Emacs as an IDE in my Linux kernel development
>>>>> projects. So I installed CEDET and GNU Global (gtags) with no
>>>>> problems.
>>>>>
>>>>> When I open a C source code belonging to my Linux kernel source
>>>>> folder, the linux project is detected automatically. Functions,
>>>>> variables, headers and other keywords are highlighted correctly.
>>>>>
>>>>> Through the ~/.emacs file I configured semantic's code completion and
>>>>> intellisense. So when I press C-<SPC> the code completion menu appears
>>>>> and I can choose what's needed.
>>>>>
>>>>> The issue is when I use preprocessor defines, the intellisense system
>>>>> shows the menu on the current location but doesn't detect the right
>>>>> things when invoked (C-<SPC>). Even I close and restart emacs the same
>>>>> behavior is reproduced.
>>>>>
>>>>> The test code is:
>>>>>
>>>>>
>>>>> //----------------------------------------------------------------------------------------
>>>>>
>>>>> typedef struct
>>>>> {
>>>>> int p1;
>>>>>
>>>>> #ifdef __KERNEL__
>>>>>
>>>>> int p2;
>>>>>
>>>>> #endif
>>>>>
>>>>> #ifdef USE1
>>>>>
>>>>> char p3;
>>>>>
>>>>> #endif
>>>>>
>>>>> #ifdef __LINUX_ARM_ARCH__
>>>>>
>>>>> int p4;
>>>>>
>>>>> #endif
>>>>>
>>>>> }OBJ;
>>>>>
>>>>> OBJ g_obj;
>>>>>
>>>>>
>>>>> //----------------------------------------------------------------------------------------
>>>>>
>>>>> __KERNEL__ , USE1 and __LINUX_ARM_ARCH__ are already defined as
>>>>> follows:
>>>>>
>>>>> __KERNEL__ : (add-to-list 'semantic-lex-c-preprocessor-symbol-map
>>>>> '("__KERNEL__" . "")) in .emacs
>>>>> USE1 : defined in a header file included by the current C source file.
>>>>> __LINUX_ARM_ARCH__ : (add-to-list 'semantic-lex-c-preprocessor-symbol-
>>>>> file "/home/abdellatif/kernel/include/generated/autoconf.h") in .emacs
>>>>>
>>>>> In the .emacs file I also added all the needed includes and defines
>>>>> required by GCC cross compiler (GCC for ARM) to build the kernel
>>>>> project.
>>>>>
>>>>> I also tried to force semantic to use GCC cross compiler command line
>>>>> in place of the system GCC to preprocess correctly but haven't found
>>>>> how to do that.
>>>>>
>>>>>
>>>>> The .emacs file, the output of the "M-x semantic-c-describe-
>>>>> environment" command and the software versions are shown below.
>>>>>
>>>>> Any help or indication is welcomed :)
>>>>> Best regards
>>>>>
>>>>> ############# Software versions #############
>>>>>
>>>>> - Emacs (23.2.1)
>>>>> - Ubuntu machine (natty, 11.04)
>>>>> - Cedet 1.0 (from http://cedet.sourceforge.net/)
>>>>>
>>>>> ############# .emacs #############
>>>>>
>>>>> ;load CEDET
>>>>>
>>>>> (load-file "~/Documents/my_emacs/cedet-1.0/common/cedet.el")
>>>>>
>>>>> (require 'ede)
>>>>>
>>>>> (global-ede-mode t)
>>>>>
>>>>> ; turn on which-func support (plus all other code helpers)
>>>>> (semantic-load-enable-gaudy-code-helpers)
>>>>> (semantic-load-enable-excessive-code-helpers)
>>>>>
>>>>> ; turn on all "useful" features
>>>>> (setq semantic-load-turn-useful-things-on t)
>>>>>
>>>>> (setq-mode-local c-mode
>>>>> semanticdb-find-default-throttle
>>>>> '(project unloaded system recursive))
>>>>>
>>>>>
>>>>> ;init names completion, and displaying of information for tags&
>>>>> classes
>>>>> (require 'semantic-ia)
>>>>>
>>>>>
>>>>>
>>>>> ;preprocessing of source code
>>>>>
>>>>> (require 'semantic-c)
>>>>>
>>>>> (semantic-reset-system-include 'c-mode)
>>>>> (semantic-reset-system-include 'c++-mode)
>>>>> (semantic-add-system-include "/home/abdellatif/toolchain/arm-
>>>>> eabi-4.4.3/lib/gcc/arm-eabi/4.4.3/include" 'c-mode)
>>>>> (semantic-add-system-include "/home/abdellatif/kernel/arch/arm/
>>>>> include" 'c-mode)
>>>>> (semantic-add-system-include "/home/abdellatif/kernel/include" 'c-
>>>>> mode)
>>>>> (semantic-add-system-include "/home/abdellatif/kernel/arch/arm/mach-
>>>>> omap2/include" 'c-mode)
>>>>> (semantic-add-system-include "/home/abdellatif/kernel/arch/arm/plat-
>>>>> omap/include" 'c-mode)
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-file "/home/
>>>>> abdellatif/kernel/include/generated/autoconf.h")
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("__KERNEL__" .
>>>>> ""))
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-map
>>>>> '("__LINUX_ARM_ARCH__" . "7"))
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-map
>>>>> '("KBUILD_STR(s)" . "#s"))
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-map
>>>>> '("KBUILD_BASENAME" . "KBUILD_STR(main)"))
>>>>> (add-to-list 'semantic-lex-c-preprocessor-symbol-map
>>>>> '("KBUILD_MODNAME" . "KBUILD_STR(main)"))
>>>>>
>>>>>
>>>>> ;semantic integration with imenu (display of a menu with a list of
>>>>> functions, variables, and other tags)
>>>>> (defun my-semantic-hook ()
>>>>> (imenu-add-to-menubar "TAGS"))
>>>>> (add-hook 'semantic-init-hooks 'my-semantic-hook)
>>>>>
>>>>> ;names completion (semantic commands)
>>>>> (defun my-cedet-hook ()
>>>>> (local-set-key [(control return)] 'semantic-ia-complete-symbol)
>>>>> (local-set-key "\C-x " 'semantic-ia-complete-symbol-menu)
>>>>> (local-set-key "\C-x\r" 'gtags-find-tag-from-here))
>>>>> (add-hook 'c-mode-common-hook 'my-cedet-hook)
>>>>>
>>>>> ;navigating in source code
>>>>> (semantic-mru-bookmark-mode 1)
>>>>>
>>>>>
>>>>> ;tell semantic to store its tags database between sessions here
>>>>> (require 'semanticdb)
>>>>> (setq-default semanticdb-default-save-directory "~/.semantic.cache")
>>>>> (setq-default semanticdb-default-system-save-directory
>>>>> "~/.semantic.cache")
>>>>>
>>>>> ;allow Semanticdb use databases generated by global(gtags)
>>>>> (require 'semanticdb-global)
>>>>> (semanticdb-enable-gnu-global-databases 'c-mode)
>>>>>
>>>>> ############# semantic-c-describe-environment #############
>>>>>
>>>>> Calculated GCC Parameters:
>>>>> version = 4.5.2
>>>>> --target = i686-linux-gnu
>>>>> --host = i686-linux-gnu
>>>>> --build = i686-linux-gnu
>>>>> --enable-checking = release
>>>>> --with-tune = generic
>>>>> --with-arch-32 = i686
>>>>> --disable-werror = nil
>>>>> --enable-targets = all
>>>>> --enable-objc-gc = nil
>>>>> --with-plugin-ld = ld.gold
>>>>> --enable-ld = default
>>>>> --enable-gold = nil
>>>>> --enable-plugin = nil
>>>>> --enable-libstdcxx-time = yes
>>>>> --enable-libstdcxx-debug = nil
>>>>> --enable-clocale = gnu
>>>>> --with-sysroot = /
>>>>> --enable-nls = nil
>>>>> --libdir = /usr/lib/i386-linux-gnu
>>>>> --with-gxx-include-dir = /usr/include/c++/4.5
>>>>> --enable-threads = posix
>>>>> --without-included-gettext = nil
>>>>> --libexecdir = /usr/lib/i386-linux-gnu
>>>>> --with-system-zlib = nil
>>>>> --enable-linker-build-id = nil
>>>>> --with-multiarch-defaults = i386-linux-gnu
>>>>> --enable-multiarch = nil
>>>>> --enable-shared = nil
>>>>> --program-suffix = -4.5
>>>>> --prefix = /usr
>>>>> --enable-languages = c,c++,fortran,objc,obj-c++
>>>>> --with-bugurl = file:///usr/share/doc/gcc-4.5/README.Bugs
>>>>> 4.5.2-8ubuntu4' = nil
>>>>> --with-pkgversion = 'Ubuntu/Linaro
>>>>> -v = nil
>>>>> target = i686-linux-gnu
>>>>>
>>>>> Include Path Summary:
>>>>>
>>>>> This file's system include path is:
>>>>> /home/abdellatif/toolchain/arm-eabi-4.4.3/lib/gcc/arm-eabi/4.4.3/
>>>>> include/
>>>>> /home/abdellatif/kernel/arch/arm/include/
>>>>> /home/abdellatif/kernel/include/
>>>>> /home/abdellatif/kernel/arch/arm/mach-omap2/include/
>>>>> /home/abdellatif/kernel/arch/arm/plat-omap/include/
>>>>>
>>>>>
>>>>> Macro Summary:
>>>>>
>>>>> Your CPP table is primed from these files:
>>>>> /home/abdellatif/kernel/include/generated/autoconf.h
>>>>> in table: #<semanticdb-table autoconf.h (652 tags)>
>>>>> /usr/include/c++/4.5/i686-linux-gnu/bits/c++config.h
>>>>> in table: #<semanticdb-table c++config.h (193 tags)>
>>>>>
>>>>> Built-in symbol map:
>>>>> __THROW =
>>>>> __const = const
>>>>> __restrict =
>>>>> __declspec = ((spp-arg-list (foo) 1 . 2))
>>>>> __attribute__ = ((spp-arg-list (foo) 1 . 2))
>>>>>
>>>>> User symbol map:
>>>>> KBUILD_MODNAME = KBUILD_STR(main)
>>>>> KBUILD_BASENAME = KBUILD_STR(main)
>>>>> KBUILD_STR(s) = #s
>>>>> __LINUX_ARM_ARCH__ = 7
>>>>> __KERNEL__ =
>>>>> __DBL_MIN_EXP__ = (-1021)
>>>>> __pentiumpro__ = 1
>>>>> __UINT_LEAST16_MAX__ = 65535
>>>>> __FLT_MIN__ = 1.17549435082228750797e-38F
>>>>> __CHAR_BIT__ = 8
>>>>> __UINT8_MAX__ = 255
>>>>> __WINT_MAX__ = 4294967295U
>>>>> __SIZE_MAX__ = 4294967295U
>>>>> __WCHAR_MAX__ = 2147483647<tel:2147483647>
>>>>> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
>>>>> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
>>>>> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
>>>>> __DBL_DENORM_MIN__ = ((double)4.94065645841246544177e-324L)
>>>>> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
>>>>> __FLT_EVAL_METHOD__ = 2
>>>>> __unix__ = 1
>>>>> __UINT_FAST64_MAX__ = 18446744073709551615ULL
>>>>> __SIG_ATOMIC_TYPE__ = int
>>>>> __DBL_MIN_10_EXP__ = (-307)
>>>>> __FINITE_MATH_ONLY__ = 0
>>>>> __GNUC_PATCHLEVEL__ = 2
>>>>> __UINT_FAST8_MAX__ = 255
>>>>> __DEC64_MAX_EXP__ = 385
>>>>> __INT8_C(c) = c
>>>>> __UINT_LEAST64_MAX__ = 18446744073709551615ULL
>>>>> __SHRT_MAX__ = 32767
>>>>> __LDBL_MAX__ = 1.18973149535723176502e+4932L
>>>>> __UINT_LEAST8_MAX__ = 255
>>>>> __linux = 1
>>>>> __DEC32_EPSILON__ = 1E-6DF
>>>>> __unix = 1
>>>>> __UINT32_MAX__ = 4294967295U
>>>>> __LDBL_MAX_EXP__ = 16384
>>>>> __WINT_MIN__ = 0U
>>>>> __linux__ = 1
>>>>> __SCHAR_MAX__ = 127
>>>>> __DBL_DIG__ = 15
>>>>> _FORTIFY_SOURCE = 2
>>>>> __SIZEOF_INT__ = 4
>>>>> __SIZEOF_POINTER__ = 4
>>>>> __STDC_HOSTED__ = 1
>>>>> __LDBL_HAS_INFINITY__ = 1
>>>>> __FLT_EPSILON__ = 1.19209289550781250000e-7F
>>>>> __GXX_WEAK__ = 1
>>>>> __LDBL_MIN__ = 3.36210314311209350626e-4932L
>>>>> __DEC32_MAX__ = 9.999999E96DF
>>>>> __INT32_MAX__ = 2147483647
>>>>> __SIZEOF_LONG__ = 4
>>>>> __UINT16_C(c) = c
>>>>> __DECIMAL_DIG__ = 21
>>>>> __gnu_linux__ = 1
>>>>> __LDBL_HAS_QUIET_NAN__ = 1
>>>>> __GNUC__ = 4
>>>>> __GXX_RTTI = 1
>>>>> __FLT_HAS_DENORM__ = 1
>>>>> __SIZEOF_LONG_DOUBLE__ = 12
>>>>> __BIGGEST_ALIGNMENT__ = 16
>>>>> __i686 = 1
>>>>> __DBL_MAX__ = ((double)1.79769313486231570815e+308L)
>>>>> __INT_FAST32_MAX__ = 2147483647
>>>>> __DBL_HAS_INFINITY__ = 1
>>>>> __INT64_MAX__ = 9223372036854775807LL
>>>>> __DEC32_MIN_EXP__ = (-94)
>>>>> __INT_FAST16_TYPE__ = int
>>>>> __LDBL_HAS_DENORM__ = 1
>>>>> __cplusplus = 1
>>>>> __DEC128_MAX__ = 9.999999999999999999999999999999999E6144DL
>>>>> __INT_LEAST32_MAX__ = 2147483647
>>>>> __DEC32_MIN__ = 1E-95DF
>>>>> __DEPRECATED = 1
>>>>> __DBL_MAX_EXP__ = 1024
>>>>> __DEC128_EPSILON__ = 1E-33DL
>>>>> __PTRDIFF_MAX__ = 2147483647
>>>>> __GNUG__ = 4
>>>>> __LONG_LONG_MAX__ = 9223372036854775807LL
>>>>> __SIZEOF_SIZE_T__ = 4
>>>>> __SIZEOF_WINT_T__ = 4
>>>>> __GCC_HAVE_DWARF2_CFI_ASM = 1
>>>>> __GXX_ABI_VERSION = 1002
>>>>> __FLT_MIN_EXP__ = (-125)
>>>>> __i686__ = 1
>>>>> __DBL_MIN__ = ((double)2.22507385850720138309e-308L)
>>>>> __FLT_MIN_10_EXP__ = (-37)
>>>>> __DECIMAL_BID_FORMAT__ = 1
>>>>> __DEC128_MIN__ = 1E-6143DL
>>>>> __UINT16_MAX__ = 65535
>>>>> __DBL_HAS_DENORM__ = 1
>>>>> __NO_INLINE__ = 1
>>>>> __i386 = 1
>>>>> __FLT_MANT_DIG__ = 24
>>>>> __VERSION__ = "4.5.2"
>>>>> __INT32_C(c) = c
>>>>> __DEC64_EPSILON__ = 1E-15DD
>>>>> __DEC128_MIN_EXP__ = (-6142)
>>>>> __INT_FAST32_TYPE__ = int
>>>>> unix = 1
>>>>> __INT16_MAX__ = 32767
>>>>> __i386__ = 1
>>>>> __UINT64_MAX__ = 18446744073709551615ULL
>>>>> __ELF__ = 1
>>>>> __FLT_RADIX__ = 2
>>>>> __LDBL_EPSILON__ = 1.08420217248550443401e-19L
>>>>> __SIG_ATOMIC_MAX__ = 2147483647
>>>>> __SIZEOF_PTRDIFF_T__ = 4
>>>>> __DEC32_SUBNORMAL_MIN__ = 0.000001E-95DF
>>>>> __pentiumpro = 1
>>>>> __INT_FAST16_MAX__ = 2147483647
>>>>> __UINT_FAST32_MAX__ = 4294967295U
>>>>> __FLT_HAS_QUIET_NAN__ = 1
>>>>> __FLT_MAX_10_EXP__ = 38
>>>>> __LONG_MAX__ = 2147483647L
>>>>> __DEC128_SUBNORMAL_MIN__ =
>>>>> 0.000000000000000000000000000000001E-6143DL
>>>>> __FLT_HAS_INFINITY__ = 1
>>>>> __DEC64_MAX__ = 9.999999999999999E384DD
>>>>> __PRAGMA_REDEFINE_EXTNAME = 1
>>>>> __INT_LEAST16_MAX__ = 32767
>>>>> __DEC64_MANT_DIG__ = 16
>>>>> __UINT_LEAST32_MAX__ = 4294967295U
>>>>> __DEC32_MAX_EXP__ = 97
>>>>> __INT_FAST8_MAX__ = 127
>>>>> __INTPTR_MAX__ = 2147483647
>>>>> linux = 1
>>>>> __EXCEPTIONS = 1
>>>>> __LDBL_MANT_DIG__ = 64
>>>>> __DBL_HAS_QUIET_NAN__ = 1
>>>>> __INTPTR_TYPE__ = int
>>>>> __WCHAR_TYPE__ = int
>>>>> __SIZEOF_FLOAT__ = 4
>>>>> __UINTPTR_MAX__ = 4294967295U
>>>>> __DEC64_MIN_EXP__ = (-382)
>>>>> __INT_FAST64_MAX__ = 9223372036854775807LL
>>>>> __FLT_DIG__ = 6
>>>>> __INT_MAX__ = 2147483647
>>>>> __FLT_MAX_EXP__ = 128
>>>>> __DBL_MANT_DIG__ = 53
>>>>> __INT_LEAST64_MAX__ = 9223372036854775807LL
>>>>> __DEC64_MIN__ = 1E-383DD
>>>>> __SIZEOF_SHORT__ = 2
>>>>> __LDBL_MIN_EXP__ = (-16381)
>>>>> __INT_LEAST8_MAX__ = 127
>>>>> __SSP__ = 1
>>>>> __LDBL_MAX_10_EXP__ = 4932
>>>>> __DBL_EPSILON__ = ((double)2.22044604925031308085e-16L)
>>>>> __UINT8_C(c) = c
>>>>> __INT_LEAST32_TYPE__ = int
>>>>> __SIZEOF_WCHAR_T__ = 4
>>>>> __DEC_EVAL_METHOD__ = 2
>>>>> __INTMAX_MAX__ = 9223372036854775807LL
>>>>> __FLT_DENORM_MIN__ = 1.40129846432481707092e-45F
>>>>> __INT8_MAX__ = 127
>>>>> __FLT_MAX__ = 3.40282346638528859812e+38F
>>>>> __INT32_TYPE__ = int
>>>>> __SIZEOF_DOUBLE__ = 8
>>>>> i386 = 1
>>>>> __DEC128_MAX_EXP__ = 6145
>>>>> __GNUC_MINOR__ = 5
>>>>> __UINTMAX_MAX__ = 18446744073709551615ULL
>>>>> __DEC32_MANT_DIG__ = 7
>>>>> __DBL_MAX_10_EXP__ = 308
>>>>> __LDBL_DENORM_MIN__ = 3.64519953188247460253e-4951L
>>>>> __INT16_C(c) = c
>>>>> __STDC__ = 1
>>>>> __PTRDIFF_TYPE__ = int
>>>>> __DEC64_SUBNORMAL_MIN__ = 0.000000000000001E-383DD
>>>>> __DEC128_MANT_DIG__ = 34
>>>>> __LDBL_MIN_10_EXP__ = (-4931)
>>>>> __SIZEOF_LONG_LONG__ = 8
>>>>> __LDBL_DIG__ = 18
>>>>> __UINT_FAST16_MAX__ = 4294967295U
>>>>> __GNUC_GNU_INLINE__ = 1
>>>>> _GNU_SOURCE = 1
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Abdellatif El Khlifi
>>>>> abdellatif@...>
>>>>> http://abdellatif.emurse.com/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Special Offer -- Download ArcSight Logger for FREE!
>>>>> Finally, a world-class log management solution at an even better
>>>>> price-free! And you'll get a free "Love Thy Logs" t-shirt when you
>>>>> download Logger. Secure your free ArcSight Logger TODAY!
>>>>> http://p.sf.net/sfu/arcsisghtdev2dev
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Cedet-devel mailing list
>>>>> Cedet-devel@...
>>>>> https://lists.sourceforge.net/lists/listinfo/cedet-devel
>>>>
>>>
>>>
>>>
>>
>> ------------------------------------------------------------------------------
>> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
>> Learn about the latest advances in developing for the
>> BlackBerry® mobile platform with sessions, labs& more.
>> See new tools and technologies. Register for BlackBerry® DevCon today!
>> http://p.sf.net/sfu/rim-devcon-copy1
>> _______________________________________________
>> Cedet-devel mailing list
>> Cedet-devel@...
>> https://lists.sourceforge.net/lists/listinfo/cedet-devel
>>
>
>
>
|