Web page patch for Windows

Please find enclosed an attempt at expanding the web pages for Windows developers.

At least one thing you might want to edit here is how I labeled the sections for non-Windows. I couldn’t think of a better name to name it, but maybe you can. “Unix/Linux/MaxOSX” or “'nix” were some earlier attempts.

-John

jtwww.patch (8.64 KB)

+ <p>To return changes to the Clang team, unless you have checkin
+ priviledges, the best way is to send patch files to the
+ cfe-dev mailing list, with an explanation of what the patch is for.

We generally prefer cfe-commits unless the patch is part of some more
general discussion/query. Also, you misspelled "privileges".

+ <p>Note that the paths embedded in the patch depend on where you run it,
+ so changing directory to the llvm directory is recommended.</p>

I would generally expect patches to be based in the "clang" directory,
but it's not a big deal either way; it's not hard to adjust from
"patch -p0" to "patch -p2".

For the "Getting started", I would suggest calling them "In a
Unix-like environment" and "With Visual Studio". It's also possible
to build clang on Windows using mingw or cygwin (at least, they should
work if they aren't bitrotted), and your instructions don't apply
there.

-Eli

Thanks for the suggestions, Eli. Let me rework it Monday and get it back to you.

Let me also try Mingw/Msys and Cygwin again. I seem to recall the configuration failing when I tried it a few months ago.

-John

I’m trying to copile clang (revision 77924), but I’m getting some.
What is wrong?

clang\include\clang/Basic/DiagnosticCommonKinds.inc(5) : warning C4003: not enough actual parameters for macro ‘DIAG’

14>…\tools\clang\lib\Sema\SemaType.cpp(123) : error C2039: ‘ext_missing_declspec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(123) : error C2065: ‘ext_missing_declspec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(146) : error C2039: ‘ext_missing_type_specifier’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(146) : error C2065: ‘ext_missing_type_specifier’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(181) : error C2039: ‘err_decimal_unsupported’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(181) : error C2065: ‘err_decimal_unsupported’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(527) : error C2039: ‘err_illegal_decl_array_of_auto’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(527) : error C2065: ‘err_illegal_decl_array_of_auto’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(538) : error C2039: ‘err_objc_array_of_interfaces’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(538) : error C2065: ‘err_objc_array_of_interfaces’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(709) : error C2039: ‘err_distant_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(709) : error C2065: ‘err_distant_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(722) : error C2039: ‘err_illegal_decl_mempointer_to_reference’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(722) : error C2065: ‘err_illegal_decl_mempointer_to_reference’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(745) : error C2039: ‘err_mempointer_in_nonclass_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(745) : error C2065: ‘err_mempointer_in_nonclass_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(872) : error C2039: ‘err_auto_not_allowed’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(872) : error C2065: ‘err_auto_not_allowed’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(894) : error C2039: ‘err_blocks_disable’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(894) : error C2065: ‘err_blocks_disable’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(903) : error C2039: ‘err_distant_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(903) : error C2065: ‘err_distant_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(920) : error C2039: ‘err_distant_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(920) : error C2065: ‘err_distant_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(932) : error C2039: ‘err_distant_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(932) : error C2065: ‘err_distant_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(950) : error C2039: ‘err_array_star_outside_prototype’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(950) : error C2065: ‘err_array_star_outside_prototype’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(976) : error C2039: ‘err_type_defined_in_result_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(976) : error C2065: ‘err_type_defined_in_result_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(984) : error C2039: ‘err_exception_spec_in_typedef’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(984) : error C2065: ‘err_exception_spec_in_typedef’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1099) : error C2039: ‘err_distant_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1099) : error C2065: ‘err_distant_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1187) : error C2039: ‘err_incomplete_in_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1187) : error C2065: ‘err_incomplete_in_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1204) : error C2039: ‘err_incomplete_in_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1204) : error C2065: ‘err_incomplete_in_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1240) : error C2039: ‘err_mismatched_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1240) : error C2065: ‘err_mismatched_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1262) : error C2039: ‘err_mismatched_exception_spec’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1262) : error C2065: ‘err_mismatched_exception_spec’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1433) : error C2039: ‘err_type_defined_in_type_specifier’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1433) : error C2065: ‘err_type_defined_in_type_specifier’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1475) : error C2039: ‘err_attribute_address_space_negative’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1475) : error C2065: ‘err_attribute_address_space_negative’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1484) : error C2039: ‘err_attribute_address_space_too_high’ : is not a member of ‘clang::diag’
4>Building X86GenInstrNames.inc…
14>…\tools\clang\lib\Sema\SemaType.cpp(1484) : error C2065: ‘err_attribute_address_space_too_high’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaType.cpp(1681) : error C2039: ‘err_cannot_determine_declared_type_of_overloaded_function’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaType.cpp(1681) : error C2065: ‘err_cannot_determine_declared_type_of_overloaded_function’ : undeclared identifier

14>…\tools\clang\lib\Sema\SemaExpr.cpp(159) : error C2039: ‘warn_not_enough_argument’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(159) : error C2065: ‘warn_not_enough_argument’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(160) : error C2039: ‘note_sentinel_here’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(160) : error C2065: ‘note_sentinel_here’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(169) : error C2039: ‘warn_not_enough_argument’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(169) : error C2065: ‘warn_not_enough_argument’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(170) : error C2039: ‘note_sentinel_here’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(170) : error C2065: ‘note_sentinel_here’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(180) : error C2039: ‘warn_missing_sentinel’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(180) : error C2065: ‘warn_missing_sentinel’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(181) : error C2039: ‘note_sentinel_here’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(181) : error C2065: ‘note_sentinel_here’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(316) : error C2039: ‘err_cannot_pass_objc_interface_to_vararg’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(316) : error C2065: ‘err_cannot_pass_objc_interface_to_vararg’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(631) : error C2039: ‘err_auto_variable_cannot_appear_in_own_initializer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(631) : error C2065: ‘err_auto_variable_cannot_appear_in_own_initializer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(640) : error C2039: ‘err_reference_to_local_var_in_enclosing_function’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(640) : error C2065: ‘err_reference_to_local_var_in_enclosing_function’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(642) : error C2039: ‘note_local_variable_declared_here’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(642) : error C2065: ‘note_local_variable_declared_here’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1499) : error C2039: ‘err_sizeof_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1499) : error C2065: ‘err_sizeof_nonfragile_interface’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1900) : error C2039: ‘ext_subscript_non_lvalue’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1900) : error C2065: ‘ext_subscript_non_lvalue’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1910) : error C2039: ‘ext_subscript_non_lvalue’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1910) : error C2065: ‘ext_subscript_non_lvalue’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1924) : error C2039: ‘err_typecheck_subscript_not_integer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1924) : error C2065: ‘err_typecheck_subscript_not_integer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1932) : error C2039: ‘err_subscript_function_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1932) : error C2065: ‘err_subscript_function_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1938) : error C2039: ‘err_subscript_incomplete_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1938) : error C2065: ‘err_subscript_incomplete_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1944) : error C2039: ‘err_subscript_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(1944) : error C2065: ‘err_subscript_nonfragile_interface’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2536) : error C2039: ‘note_member_reference_needs_call’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2536) : error C2065: ‘note_member_reference_needs_call’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2598) : error C2039: ‘err_call_incomplete_argument’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2598) : error C2065: ‘err_call_incomplete_argument’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2608) : error C2039: ‘err_use_of_default_argument_to_function_declared_later’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2608) : error C2065: ‘err_use_of_default_argument_to_function_declared_later’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2611) : error C2039: ‘note_default_argument_declared_here’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2611) : error C2065: ‘note_default_argument_declared_here’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2847) : error C2039: ‘err_call_incomplete_return’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2847) : error C2065: ‘err_call_incomplete_return’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2869) : error C2039: ‘warn_call_wrong_number_of_arguments’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2869) : error C2065: ‘warn_call_wrong_number_of_arguments’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2881) : error C2039: ‘err_call_incomplete_argument’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(2881) : error C2065: ‘err_call_incomplete_argument’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3014) : error C2039: ‘err_cast_pointer_from_non_pointer_int’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3014) : error C2065: ‘err_cast_pointer_from_non_pointer_int’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3019) : error C2039: ‘err_cast_pointer_to_non_pointer_int’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3019) : error C2065: ‘err_cast_pointer_to_non_pointer_int’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3023) : error C2039: ‘err_cast_selector_expr’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3023) : error C2065: ‘err_cast_selector_expr’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3052) : error C2039: ‘err_invalid_conversion_between_ext_vectors’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3052) : error C2065: ‘err_invalid_conversion_between_ext_vectors’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3229) : error C2039: ‘ext_typecheck_cond_incompatible_operands’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3229) : error C2065: ‘ext_typecheck_cond_incompatible_operands’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3314) : error C2039: ‘warn_typecheck_cond_pointer_integer_mismatch’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3314) : error C2065: ‘warn_typecheck_cond_pointer_integer_mismatch’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3320) : error C2039: ‘warn_typecheck_cond_pointer_integer_mismatch’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3320) : error C2065: ‘warn_typecheck_cond_pointer_integer_mismatch’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3918) : error C2039: ‘err_arithmetic_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3918) : error C2065: ‘err_arithmetic_nonfragile_interface’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3998) : error C2039: ‘err_arithmetic_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(3998) : error C2065: ‘err_arithmetic_nonfragile_interface’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4219) : error C2039: ‘ext_typecheck_ordered_comparison_of_function_pointers’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4219) : error C2065: ‘ext_typecheck_ordered_comparison_of_function_pointers’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4249) : error C2039: ‘err_typecheck_comparison_of_distinct_pointers’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4249) : error C2065: ‘err_typecheck_comparison_of_distinct_pointers’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4340) : error C2039: ‘ext_typecheck_ordered_comparison_of_pointer_integer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4340) : error C2065: ‘ext_typecheck_ordered_comparison_of_pointer_integer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4350) : error C2039: ‘ext_typecheck_ordered_comparison_of_pointer_integer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4350) : error C2065: ‘ext_typecheck_ordered_comparison_of_pointer_integer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4650) : error C2039: ‘err_arithmetic_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4650) : error C2065: ‘err_arithmetic_nonfragile_interface’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4802) : error C2039: ‘err_cannot_form_pointer_to_member_of_reference_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4802) : error C2065: ‘err_cannot_form_pointer_to_member_of_reference_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4825) : error C2039: ‘ext_typecheck_addrof_void’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(4825) : error C2065: ‘ext_typecheck_addrof_void’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5294) : error C2039: ‘err_typecheck_subscript_not_integer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5294) : error C2065: ‘err_typecheck_subscript_not_integer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5313) : error C2039: ‘warn_offsetof_non_pod_type’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5313) : error C2065: ‘warn_offsetof_non_pod_type’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5357) : error C2039: ‘err_types_compatible_p_in_cplusplus’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5357) : error C2065: ‘err_types_compatible_p_in_cplusplus’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5431) : error C2039: ‘err_block_returns_array’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5431) : error C2065: ‘err_block_returns_array’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5452) : error C2039: ‘err_object_cannot_be_passed_returned_by_value’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5452) : error C2065: ‘err_object_cannot_be_passed_returned_by_value’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5504) : error C2039: ‘err_object_cannot_be_passed_returned_by_value’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5504) : error C2065: ‘err_object_cannot_be_passed_returned_by_value’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5529) : error C2039: ‘err_blocks_disable’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5529) : error C2065: ‘err_blocks_disable’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5645) : error C2039: ‘ext_typecheck_convert_incompatible_pointer_sign’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5645) : error C2065: ‘ext_typecheck_convert_incompatible_pointer_sign’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5669) : error C2039: ‘err_typecheck_convert_incompatible_block_pointer’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaExpr.cpp(5669) : error C2065: ‘err_typecheck_convert_incompatible_block_pointer’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(31) : error C2039: ‘warn_accessor_property_type_mismatch’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(31) : error C2065: ‘warn_accessor_property_type_mismatch’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(128) : error C2039: ‘err_recursive_superclass’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(128) : error C2065: ‘err_recursive_superclass’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(269) : error C2039: ‘warn_duplicate_protocol_def’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(269) : error C2065: ‘warn_duplicate_protocol_def’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(634) : error C2039: ‘err_dup_implementation_category’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(634) : error C2065: ‘err_dup_implementation_category’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(809) : error C2039: ‘warn_conflicting_ret_types’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(809) : error C2065: ‘warn_conflicting_ret_types’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(823) : error C2039: ‘warn_conflicting_param_types’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(823) : error C2065: ‘warn_conflicting_param_types’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1056) : error C2039: ‘warn_setter_getter_impl_required’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1056) : error C2065: ‘warn_setter_getter_impl_required’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1059) : error C2039: ‘note_property_impl_required’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1059) : error C2065: ‘note_property_impl_required’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1064) : error C2039: ‘warn_setter_getter_impl_required’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1064) : error C2065: ‘warn_setter_getter_impl_required’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1067) : error C2039: ‘note_property_impl_required’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1067) : error C2065: ‘note_property_impl_required’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1387) : error C2039: ‘warn_accessor_property_type_mismatch’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1387) : error C2065: ‘warn_accessor_property_type_mismatch’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1584) : error C2039: ‘err_objc_var_decl_inclass’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1584) : error C2065: ‘err_objc_var_decl_inclass’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1638) : error C2039: ‘err_object_cannot_be_passed_returned_by_value’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1638) : error C2065: ‘err_object_cannot_be_passed_returned_by_value’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1681) : error C2039: ‘err_object_cannot_be_passed_returned_by_value’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1681) : error C2065: ‘err_object_cannot_be_passed_returned_by_value’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1717) : error C2039: ‘warn_attribute_method_def’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1717) : error C2065: ‘warn_attribute_method_def’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1729) : error C2039: ‘warn_attribute_method_def’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1729) : error C2065: ‘warn_attribute_method_def’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1817) : error C2039: ‘warn_objc_property_copy_missing_on_block’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(1817) : error C2065: ‘warn_objc_property_copy_missing_on_block’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2041) : error C2039: ‘error_ivar_in_superclass_use’ : is not a member of ‘clang::diag’
18>…\tools\clang\lib\CodeGen\CGBuiltin.cpp(795) : warning C4065: switch statement contains ‘default’ but no ‘case’ labels
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2041) : error C2065: ‘error_ivar_in_superclass_use’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2044) : error C2039: ‘note_previous_access_declaration’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2044) : error C2065: ‘note_previous_access_declaration’ : undeclared identifier
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2158) : error C2039: ‘err_atdef_nonfragile_interface’ : is not a member of ‘clang::diag’
14>…\tools\clang\lib\Sema\SemaDeclObjC.cpp(2158) : error C2065: ‘err_atdef_nonfragile_interface’ : undeclared identifier

Is your LLVM tree up to date? It looks like there is something wrong
with the autogenerated Diagnostics .inc files, either they didn't get
rebuilt, or they didn't get built with the right version of tblgen.

- Daniel

Sure, I’ve updated LLVM and clang to the 77924 revision

Here’s a revised patch with the suggested changes. (Or should I be posting to cfe-commits?)

jtwww_rev1.patch (8.82 KB)

Committed in r77988 with a few minor tweaks. Thanks!

-Eli

In the Diagnostic.cpp file, there are the define:

#define DIAG(ENUM,CLASS,DEFAULT_MAPPING,DESC,GROUP,SFINAE)
{ diag::ENUM, DEFAULT_MAPPING, CLASS, SFINAE, DESC, GROUP },

followed by some .inc files

The first use of the DIAG macro is:
DIAG(err_expected_colon, ERROR, “expected ‘:’”)

Thats call generates an error in the VC++ 2008 (with the cmake project files)

As I can see, the DIAG macro expects 6, but is used with one 3, so the compiler fires the error.
Can someone help me to understand this issue?

Thanks,
Makslane